如何获取所有列中都具有空值的行的索引

时间:2019-04-15 10:58:57

标签: python pandas null

我想获取在熊猫python3中仅具有空值的行的索引。 谢谢。

1 个答案:

答案 0 :(得分:1)

使用:

i = df.index[df.isna().all(axis=1)]

如果使用较大的DataFrame,则解决方案较慢:

i = df[df.isna().all(axis=1)].index

示例

df=pd.DataFrame({"a":[np.nan,0,1], 
                 "b":[np.nan,1,np.nan]}) 

print (df)
     a    b
0  NaN  NaN
1  0.0  1.0
2  1.0  NaN

i = df.index[df.isna().all(axis=1)]
print (i)
Int64Index([0], dtype='int64')

说明

首先用DataFrame.isna比较缺失值:

print (df.isna())
       a      b
0   True   True
1  False  False
2  False   True

然后按DataFrame.all检查每行是否所有True

print (df.isna().all(axis=1))
0     True
1    False
2    False
dtype: bool

最后按boolean indexing过滤索引值。