想知道NULL
(我的意思是空单元格)是否与python中的NaN
或na
不同。我正在检查有关缺失值的数据集。但是熊猫似乎并没有报告所有缺失的值。
df2.isnull().any()
id False
trip_id False
distance False
duration False
speed False
foot False
bike False
car False
bus False
metro False
mode True
dtype: bool
df2.isnull().any().sum()
1
但是,仅进一步检查,我发现2个缺失值:
df2.head(10)
+---+-----------+---------+----------+----------+-------+-------+-------+-------+-------+-------+-------+
| | id | trip_id | distance | duration | speed | foot | bike | car | bus | metro | mode |
+---+-----------+---------+----------+----------+-------+-------+-------+-------+-------+-------+-------+
| 0 | 441814000 | 441814 | 10632.93 | 2076 | 5.12 | False | False | True | False | False | car |
| 1 | 442313000 | 442313 | 738.02 | 2075 | 0.36 | True | False | False | False | False | foot |
| 2 | 442795000 | 442795 | 5759.29 | 3879 | 1.48 | True | False | False | False | False | NaN |
| 3 | 441817000 | 441817 | 31110.93 | 2948 | 10.55 | False | False | True | False | False | car |
| 4 | 442316000 | 442316 | 49636.50 | 2971 | 16.71 | False | False | True | False | False | car |
| 5 | 441316000 | 441316 | 9736.87 | 3185 | 3.06 | True | False | True | False | False | car |
| 6 | 441818000 | 441818 | 10027.53 | 1181 | 8.49 | False | False | True | False | False | car |
| 7 | 442798000 | 442798 | 1862.62 | 2039 | 0.91 | True | False | False | False | False | foot |
| 8 | 442318000 | 442318 | 39738.04 | 4468 | 8.89 | True | False | False | False | True | metro |
| 9 | 441318000 | 441318 | 18472.13 | 5670 | 3.26 | True | False | False | False | False | NaN |
+---+-----------+---------+----------+----------+-------+-------+-------+-------+-------+-------+-------+
我很受伤,为什么isnull().any.sum()
仅报告一个NaN
答案 0 :(得分:1)
对于您而言,这是因为您正在使用.any()
,如果任何值是NaN
,您可能只想返回isnull().sum()
编辑:这将为您提供每一列的计数,如果您想要一个总值,则可以像ayhan提到的那样进行isnull().sum().sum()