gpt4 book ai didi

python - 在 Pandas 数据框中检索 NaN 值的索引

转载 作者:太空狗 更新时间:2023-10-29 22:29:44 25 4
gpt4 key购买 nike

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

d=[[11.4,1.3,2.0, NaN],[11.4,1.3,NaN, NaN],[11.4,1.3,2.8, 0.7],[NaN,NaN,2.8, 0.7]]
df = pd.DataFrame(data=d, columns=['A','B','C','D'])
print df

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

我已经完成了以下操作:

  • 为每行添加一个包含 NaN 计数的列
  • 获取包含 NaN 值的每一行的索引

我想要的(最好是列的名称)是得到这样的列表:

[ ['D'],['C','D'],['A','B'] ]

希望我能找到一种无需对每一行对每一列进行测试的方法

if df.ix[i][column] == NaN:

我正在寻找一种 pandas 方法来处理我庞大的数据集。

提前致谢。

最佳答案

使用 scipy 坐标格式稀疏矩阵检索空值的坐标应该是有效的:

import scipy.sparse as sp

x,y = sp.coo_matrix(df.isnull()).nonzero()
print(list(zip(x,y)))

[(0, 3), (1, 2), (1, 3), (3, 0), (3, 1)]

请注意,我调用 nonzero 方法只是为了输出底层稀疏矩阵中非零项的坐标,因为我不关心所有 的实际值>正确

关于python - 在 Pandas 数据框中检索 NaN 值的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33641231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com