Gấu trúc - Làm sạch các ô trống


Ô trống

Các ô trống có thể cung cấp cho bạn một kết quả sai khi bạn phân tích dữ liệu.


Xóa hàng

Một cách để đối phó với các ô trống là loại bỏ các hàng có chứa các ô trống.

Điều này thường không sao, vì các tập dữ liệu có thể rất lớn và việc loại bỏ một vài hàng sẽ không ảnh hưởng lớn đến kết quả.

Thí dụ

Trả lại Khung dữ liệu mới không có ô trống:

import pandas as pd

df = pd.read_csv('data.csv')

new_df = df.dropna()

print(new_df.to_string())

Trong các ví dụ làm sạch của chúng tôi, chúng tôi sẽ sử dụng tệp CSV có tên 'dirtydata.csv'.

Tải xuống dirtydata.csv . hoặc Mở dirtydata.csv

Lưu ý: Theo mặc định, dropna()phương thức trả về một DataFrame mới và sẽ không thay đổi bản gốc.

Nếu bạn muốn thay đổi DataFrame ban đầu, hãy sử dụng inplace = Trueđối số:

Thí dụ

Loại bỏ tất cả các hàng có giá trị NULL:

import pandas as pd

df = pd.read_csv('data.csv')

df.dropna(inplace = True)

print(df.to_string())

Lưu ý: Bây giờ, hàm dropna(inplace = True)sẽ KHÔNG trả về một DataFrame mới, nhưng nó sẽ xóa tất cả các hàng chứa các giá trị NULL khỏi DataFrame ban đầu.


Thay thế các giá trị trống

Một cách khác để xử lý các ô trống là chèn một giá trị mới thay thế.

Bằng cách này, bạn không phải xóa toàn bộ hàng chỉ vì một số ô trống.

Phương fillna()thức này cho phép chúng tôi thay thế các ô trống bằng một giá trị:

Thí dụ

Thay thế các giá trị NULL bằng số 130:

import pandas as pd

df = pd.read_csv('data.csv')

df.fillna(130, inplace = True)

Chỉ thay thế cho các cột được chỉ định

Ví dụ trên thay thế tất cả các ô trống trong toàn bộ Khung dữ liệu.

Để chỉ thay thế các giá trị trống cho một cột, hãy chỉ định tên cột cho DataFrame:

Thí dụ

Thay thế các giá trị NULL trong cột "Calo" bằng số 130:

import pandas as pd

df = pd.read_csv('data.csv')

df["Calories"].fillna(130, inplace = True)

w3schools CERTIFIED . 2021

Được chứng nhận!

Hoàn thành các mô-đun Pandas, làm bài tập, làm bài kiểm tra và bạn sẽ được chứng nhận w3schools!

$ 10 ĐĂNG KÝ

Thay thế bằng cách sử dụng Trung bình, Trung vị hoặc Chế độ

Một cách phổ biến để thay thế các ô trống là tính giá trị trung bình, giá trị trung bình hoặc chế độ của cột.

Pandas sử dụng các phương thức mean() median()mode()để tính toán các giá trị tương ứng cho một cột được chỉ định:

Thí dụ

Tính MEAN và thay thế bất kỳ giá trị trống nào bằng nó:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mean()

df["Calories"].fillna(x, inplace = True)

Mean = giá trị trung bình (tổng của tất cả các giá trị chia cho số giá trị).

Thí dụ

Tính MEDIAN và thay thế bất kỳ giá trị trống nào bằng nó:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].median()

df["Calories"].fillna(x, inplace = True)

Median = giá trị ở giữa, sau khi bạn đã sắp xếp tất cả các giá trị tăng dần.

Thí dụ

Tính MODE và thay thế bất kỳ giá trị trống nào bằng nó:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mode()[0]

df["Calories"].fillna(x, inplace = True)

Chế độ = giá trị xuất hiện thường xuyên nhất.