我有一个下面给出的数据框df,我必须计算包含NaN值的行数。
Name Age City Country
0 jack NaN Sydeny Australia
1 Riti NaN Delhi India
2 Vikas 31 NaN India
3 Neelu 32 Bangalore India
4 Steve 16 New York US
5 John 11 NaN NaN
6 NaN NaN NaN NaN
要获得我尝试过的答案
df.isnull().sum().sum()
通过计算所有NaN值给我输出9,但是通过计算包含NaN值的行,答案是5。我不知道该怎么计算。
答案 0 :(得分:4)
检查axis=1
后,您需要isnull()
上的df.any()
:
df.isnull().any(axis=1).sum()
#5
答案 1 :(得分:2)
仅以示例为例。
>>> df
Name Age City Country
0 jack NaN Sydeny Australia
1 Riti NaN Delhi India
2 Vikas 31.0 NaN India
3 Neelu 32.0 Bangalore India
4 John 16.0 New York US
5 John 11.0 NaN NaN
6 NaN NaN NaN NaN
>>> df.isnull().any(1)
0 True
1 True
2 True
3 False
4 False
5 True
6 True
dtype: bool
>>> df.index[df.isnull().any(1)]
Int64Index([0, 1, 2, 5, 6], dtype='int64')
>>> df.isnull().any(1).sum()
5
>>> df.index[df.isnull().any(1).sum()]
5