Bạn có một cặp đôi tùy chọn.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10,6))
# Make a few areas have NaN values
df.iloc[1:3,1] = np.nan
df.iloc[5,3] = np.nan
df.iloc[7:9,5] = np.nan
Bây giờ khung dữ liệu trông giống như thế này:
0 1 2 3 4 5
0 0.520113 0.884000 1.260966 -0.236597 0.312972 -0.196281
1 -0.837552 NaN 0.143017 0.862355 0.346550 0.842952
2 -0.452595 NaN -0.420790 0.456215 1.203459 0.527425
3 0.317503 -0.917042 1.780938 -1.584102 0.432745 0.389797
4 -0.722852 1.704820 -0.113821 -1.466458 0.083002 0.011722
5 -0.622851 -0.251935 -1.498837 NaN 1.098323 0.273814
6 0.329585 0.075312 -0.690209 -3.807924 0.489317 -0.841368
7 -1.123433 -1.187496 1.868894 -2.046456 -0.949718 NaN
8 1.133880 -0.110447 0.050385 -1.158387 0.188222 NaN
9 -0.513741 1.196259 0.704537 0.982395 -0.585040 -1.693810
- Tùy chọn 1 :
df.isnull().any().any()- Điều này trả về giá trị boolean
Bạn biết cái isnull()nào sẽ trả về một khung dữ liệu như thế này:
0 1 2 3 4 5
0 False False False False False False
1 False True False False False False
2 False True False False False False
3 False False False False False False
4 False False False False False False
5 False False False True False False
6 False False False False False False
7 False False False False False True
8 False False False False False True
9 False False False False False False
Nếu bạn tạo nó df.isnull().any(), bạn chỉ có thể tìm thấy các cột có NaNgiá trị:
0 False
1 True
2 False
3 True
4 False
5 True
dtype: bool
Một người nữa .any()sẽ cho bạn biết nếu có bất kỳ điều nào ở trênTrue
> df.isnull().any().any()
True
- Tùy chọn 2 :
df.isnull().sum().sum()- Điều này trả về một số nguyên của tổng số NaNgiá trị:
Điều này hoạt động theo cách tương tự như trước .any().any(), bằng cách trước tiên đưa ra tổng của số lượng NaNgiá trị trong một cột, sau đó là tổng của các giá trị đó:
df.isnull().sum()
0 0
1 2
2 0
3 1
4 0
5 2
dtype: int64
Cuối cùng, để có được tổng số giá trị NaN trong DataFrame:
df.isnull().sum().sum()
5