Python 通过一对 nan 获取坐标

标签 python pandas nan

我有一个像这样的数据框

>>df1 = pd.DataFrame({
          'A': ['1', '2', '3', '4', '5'],
          'B': ['1', '1', '1', '1', '1'],
          'C': ['c', 'A1', NaN, 'c3', Nan],
          'D': ['d0', 'B1', 'B2', Nan, 'B4'],
          'E': ['A', Nan, 'S', Nan, 'S'],
          'F': ['3', '4', '5', '6', '7'],
          'G': ['2', '2', NaN, '2', '2']
        })
>>df1

    A   B     C     D     E   F     G
0   1   1     c    d0     A   3     2
1   2   1    A1    B1   NaN   4     2
2   3   1   NaN    B2     S   5   NaN
3   4   1    c3   NaN   NaN   6     2
4   5   1   NaN    B4     S   7     2

我想获得所有nan的坐标。即输出应该是:

[[1,"E"], [2,"C"] , [2,"G"] , [3,"D"] ,[3,"E"] , [4,"C"] ]

我查看的所有其他问题只需要列名而不是对。

有什么有效的方法可以解决这个问题吗? 谢谢

最佳答案

使用stack通过缺失值过滤索引值:

s = df1.stack(dropna=False)
L = [list(x) for x in s.index[s.isna()]]
print (L)
[[1, 'E'], [2, 'C'], [2, 'G'], [3, 'D'], [3, 'E'], [4, 'C']]

关于Python 通过一对 nan 获取坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54905677/

相关文章:

python - 使用参数 : Python win32com API 调用宏

python - 多索引数据框中多列标准的行选择(更有效的解决方案?)

python - 使用 panda 格式化 Excel 的日期输出

python - 用于 python 插值的 scipy 的 splrep/splev 返回 nan

javascript - 在 Javascript 中比较 NaN 值是否相等

Python:表示为向量列表组合的向量

python - 即使条件为假,VScode 中的条件断点也会跳闸

Python DictWriter 编写 UTF-8 编码的 CSV 文件

python - 用 python 查看 A 和上一个 B

python - 根据另一个具有不同大小的列表替换 nan 的列表 python