python - 检索包含 NaN 值的行的索引

标签 python pandas dataframe nan

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

      A    B    C    D
0  11.4  1.3  2.0  NaN
1  11.4  1.3  NaN  NaN
2  11.4  1.3  2.8  0.7
3  NaN   NaN  2.8  0.7

期望的结果: [0,1,3]

我正在寻找一种 pandas 方式来处理我的庞大数据集。 提前致谢

最佳答案

用于通过boolean indexing索引值进行更好的过滤性能:

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

关于python - 检索包含 NaN 值的行的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51980469/

相关文章:

python - 如何计算两列数据框中的真值和假值?

python - BERT 和 ALBERT 的训练数据损失大且准确率低

python - 输入数据未定义

python - Pandas to_json 将索引转换为字符串

python - 如何为 Pandas DataFrame _repr_html_ 方法设置默认样式?

python - 为什么 groupby 和 rolling 不能一起工作?

python - 如何简化一个复杂的比率?

python - 如何从脚本语言调用 DLL?

python - 添加来自不同数据框的值

r - 如何在R中使用if containsimilar,then