python - Pandas 根据条件返回索引和列名
问题描述
假设我们有一个 DataFrame:
df = pd.DataFrame({
'D': {'A': 0.810032, 'B': 0.752299, 'C': 0.224038},
'E': {'A': 0.17714, 'B': 0.680405, 'C': 0.769732},
'F': {'A': 0.942959, 'B': 0.436582, 'C': 0.269791}
})
print(df)
D E F
A 0.810032 0.177140 0.942959
B 0.752299 0.680405 0.436582
C 0.224038 0.769732 0.269791
是否可以根据条件将索引和列名返回到元组列表中,例如
print(df < 0.25)
D E F
A False True False
B False False False
C True False False
我想最终得到一个元组列表,例如:
[('A','E'),('C','D')]
解决方案
我们还可以使用DataFrame.where
then stack
,它利用了默认情况下stack
删除NaN
值然后用于Index.tolist
获取元组列表的事实:
results = df.where(df < .25).stack().index.tolist()
results
:
[('A', 'E'), ('C', 'D')]
推荐阅读
- python - 使用 python 从 CSV 文件中查询
- machine-learning - 解释特征交互与特征相关
- python - 访问类中的特定值
- r - 1)如何按降序对列表中的多个表进行排序?2)如何从多个表的一个列表创建数据框?
- uml - 指定停车引导系统的 UML 类图?
- javascript - 如何从动态字段发送 POST 请求?
- angular - Angular 8 Firebase 获取 node_modules/firebase/index.d.ts(4369, 38): error TS1005: ';' 预期的
- python - 代码使用 x70 列的数据框和 1000 列的失败(相同的数据结构)
- r - 连接两个数据框并为连接列的缺失值添加 NA
- mysql - 导入表定义时忽略 ALTER TABLE 命令