Phương thức isna[]
trả về một DataFrame gồm các booleans trong đó True
cho biết sự hiện diện của một giá trị bị thiếu
Sau đó, chúng tôi sử dụng any[axis=1]
để có được một Series
trong đó True
đại diện cho sự hiện diện của ít nhất một True
trong mỗi hàng
Tham số axis=1
là cần thiết ở đây vì hành vi mặc định của df
0 là quét qua từng cột [trái ngược với từng hàng]
Với mặt nạ boolean này, sau đó chúng ta có thể trích xuất các hàng tương ứng với True
bằng cú pháp df
2
df[df.isna[].any[axis=1]]
Các hàng thiếu giá trị cho một cột nhất định
Chúng tôi hiển thị cùng một df
ở đây để bạn tham khảo
df = pd.DataFrame[{"A":[np.nan,3,np.nan],"B":[4,5,6],"C":[np.nan,7,8]}, index=["a","b","c"]]
Giải pháp
Để nhận các hàng có giá trị bị thiếu trong cột df
6
Giải trình
Trước tiên, chúng tôi bắt đầu bằng cách trích xuất cột df
6 dưới dạng một Chuỗi
Tiếp theo, chúng tôi sử dụng phương pháp df[df.isna[].any[axis=1]]isna[]
của Sê-ri để lấy Sê-ri các booleans trong đó True
biểu thị sự hiện diện của
0
Cuối cùng, chúng tôi chuyển vào mặt nạ boolean này để trích xuất các hàng tương ứng với df[df.isna[].any[axis=1]]True
bằng cú pháp
2
Các hàng thiếu giá trị cho nhiều cột
Chúng tôi hiển thị cùng một df
ở đây để bạn tham khảo
df = pd.DataFrame[{"A":[np.nan,3,np.nan],"B":[4,5,6],"C":[np.nan,7,8]}, index=["a","b","c"]]
Giải pháp
Để nhận các hàng có giá trị bị thiếu trong các cột df[df.isna[].any[axis=1]]
5 và df
6
df[df.isna[].any[axis=1]]
7Giải trình
Trước tiên, chúng tôi tìm nạp các cột df[df.isna[].any[axis=1]] df[df.isna[].any[axis=1]]
5 và df
6 dưới dạng Khung dữ liệu bằng cách sử dụng cú pháp
2
Sau đó, chúng tôi sử dụng phương pháp df[df.isna[].any[axis=1]]isna[]
để lấy DataFrame gồm các booleans trong đó True
biểu thị sự hiện diện của
0
Tiếp theo, chúng tôi sử dụng isna[]
4 nhận một Chuỗi các booleans trong đó True
biểu thị một hàng có tất cả các True
isna[]
7Cuối cùng, chúng tôi sử dụng cú pháp df
2 để trích xuất các hàng tương ứng với True
df[df.isna[].any[axis=1]]
7Các hàng thiếu giá trị cho tất cả các cột
Hãy xem xét DataFrame sau
True
1Giải pháp
Để nhận các hàng có giá trị bị thiếu cho tất cả các cột
True
2Giải trình
Logic hoàn toàn giống với trường hợp nhận các hàng có ít nhất một giá trị bị thiếu, ngoại trừ việc chúng tôi sử dụng True
3 thay vì df
0. Sự khác biệt như sau
True
3 trả về một Chuỗi các booleans trong đóTrue
chỉ ra một hàng có tất cả các giá trị cột bị thiếuTrue
7df
0 trả về một Chuỗi các booleans trong đóTrue
chỉ ra một hàng có ít nhất một giá trị cột bị thiếuPandas là một công cụ đặc biệt cho phép chúng tôi thực hiện các thao tác dữ liệu phức tạp một cách hiệu quả và hiệu quả. Bên trong gấu trúc, chúng tôi chủ yếu xử lý tập dữ liệu ở dạng DataFrame. DataFrames là cấu trúc dữ liệu 2 chiều trong pandas. DataFrames bao gồm các hàng, cột và dữ liệu
Chọn hàng có giá trị cột là null/None/nan
Trong khi tạo DataFrame hoặc nhập tệp CSV, có thể có một số giá trị NaN trong các ô. Giá trị NaN có nghĩa là "Không phải là số", điều này thường có nghĩa là có một số giá trị bị thiếu trong ô
Chúng tôi được cung cấp một Khung dữ liệu có nhiều cột, tất cả các cột này chứa một số giá trị số nguyên và một số giá trị null/nan
Lặp lại hàng của khung dữ liệu, nếu bất kỳ cột nào chứa một số giá trị null/nan, chúng ta cần trả về hàng cụ thể đó. Với mục đích này, chúng tôi sẽ chỉ lọc khung dữ liệu với sự trợ giúp của dấu ngoặc vuông và phương thức isna[]
Dấu ngoặc vuông sẽ trả về tất cả các hàng và bất cứ nơi nào điều kiện được thỏa mãn, nó sẽ trả về tất cả các cột
Chúng ta có thể sử dụng cú pháp sau để chọn các hàng có giá trị NaN trong bất kỳ cột nào của DataFrame. ______0_______Lưu ý rằng mỗi hàng trong DataFrame kết quả chứa một giá trị NaN trong ít nhất một cột
ví dụ 2. Chọn các hàng có giá trị NaN trong cột cụ thể
Chúng ta có thể sử dụng cú pháp sau để chọn các hàng có giá trị NaN trong cột hỗ trợ của DataFrame
#create new DataFrame that only contains rows with NaNs in assists column df_assists_nans = df.loc[df['assists'].isnull[]] #view results print[df_assists_nans] team points assists rebounds 4 E 14.0 NaN 6.0 7 H 28.0 NaN NaN
Lưu ý rằng mỗi hàng trong DataFrame kết quả chứa một giá trị NaN trong cột hỗ trợ
Có một hàng có giá trị NaN trong cột điểm, nhưng hàng này không được chọn vì nó cũng không có giá trị NaN trong cột hỗ trợ
Làm cách nào để tìm tất cả các cột có NaN trong gấu trúc?
Bạn có thể sử dụng df. isnull[]. tổng[] . Nó hiển thị tất cả các cột và tổng số NaN của từng tính năng.Làm cách nào để lọc các hàng có giá trị NaN trong gấu trúc?
Bạn có thể lọc ra các hàng có giá trị NAN từ chuỗi cột DataFrame của pandas, float, datetime e. t. c bằng cách sử dụng DataFrame. dropna[] và DataFrame. phương thức notnull[] . Python không hỗ trợ Null do đó mọi dữ liệu bị thiếu được biểu thị là Không có hoặc NaN.Làm cách nào để kiểm tra hàng nào có giá trị null trong pandas?
Tìm các hàng có giá trị null trong Pandas Series [cột] . using the isna[] or isnull[] Series methods.Làm cách nào để tìm các giá trị còn thiếu trong mỗi pandas cột?
Chúng ta có thể sử dụng hàm sum[] của Pandas để lấy số lượng giá trị bị thiếu trên mỗi cột trong khung dữ liệu. Theo mặc định, Pandas sum[] thêm vào các cột. Và chúng tôi nhận được một khung dữ liệu với số lượng giá trị bị thiếu cho mỗi cột. Khi bạn có khung dữ liệu lớn hơn, chúng ta có thể nhanh chóng tạo biểu đồ thanh bằng cách sử dụng biểu đồ của Pandas