想知道NULL
(我的意思是空单元格)是否与python中的NaN
或na
不同。我在检查我的数据集是否有缺失值。但似乎pandas并没有报告所有缺失的值。
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
然而,在进一步检查时,我注意到两个缺失值:
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
2条答案
按热度按时间0sgqnhkj1#
对于您的情况,这是因为您正在使用
.any()
,如果任何值是NaN
,则只会返回,您可能只是想要isnull().sum()
编辑:这将给予你每列的计数,如果你想要一个总值,那么你可以像ayhan提到的那样做
isnull().sum().sum()
2o7dmzc52#
我有同样的问题,我的细胞有一个空间,我修复了这个问题,将其替换为NaN