计算包含 NaN 值的行数

Calculate Number of Rows containg NaN values

我有一个下面给出的数据框 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。我不知道如何计算这个。

检查 isnull() 后,您需要 df.any() 超过 axis=1

df.isnull().any(axis=1).sum()
#5

举例说明如何获取。

示例 DF

>>> 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

用布尔值指定 Nan 行...

>>> df.isnull().any(1)
0     True
1     True
2     True
3    False
4    False
5     True
6     True
dtype: bool

获取 Nan 出现的行:

>>> 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