检索包含NaN值的行的索引

时间:2018-08-23 07:29:46

标签: python pandas dataframe nan

我尝试为包含NaN值的每一行检索所有相应的索引。

kitchen converge

所需结果: [0,1,3]

我正在寻找一种熊猫方法来处理庞大的数据集。 预先感谢

2 个答案:

答案 0 :(得分:3)

用于按boolean indexingindex值进行更好的性能过滤:

idx = df.index[df.isnull().any(axis=1)].tolist()
print (idx)
[0, 1, 3]

说明

首先按NaN的值进行比较:

print (df.isnull())
       A      B      C      D
0  False  False  False   True
1  False  False   True   True
2  False  False  False  False
3   True   True  False  False

然后通过DataFrame.any检查每行是否至少有一个:

print (df.isnull().any(axis=1))
0     True
1     True
2    False
3     True
dtype: bool

答案 1 :(得分:1)

使用位置

df.loc[df.isna().any(axis=1)].index.tolist()