获取回答熊猫过滤器的所有值的索引

Posted

技术标签:

【中文标题】获取回答熊猫过滤器的所有值的索引【英文标题】:get the indexes of all values that answer a filter in pandas 【发布时间】:2021-08-19 11:15:56 【问题描述】:

我有一个包含浮点数的 DataFrame,我想获取与某个过滤器匹配的所有单元格索引。

假设我有这个 DataFrame:

A B C
A 1 0.7 0.9
B 0.7 1 0.3
C 0.9 0.3 1

我的过滤器是 >=0.9 我想获取索引 (0,0),(1,1),(2,2),(0,2),(2,0)。

或者更具体地说,我有 pearson 相关数据框,我想获取相关性大于 0.9 的所有列

【问题讨论】:

【参考方案1】:

你可以使用np.argwhere():

import numpy as np
out=np.argwhere(df.to_numpy()>=0.9).tolist()

out的输出:

[[0, 0], [0, 2], [1, 1], [2, 0], [2, 2]]

【讨论】:

它返回一个空列表。正如你在link 截图中看到的那样,我得到一个空列表,即使我应该得到至少 [41,41],因为它是 1.0 @Matrucci 是的,我看到尝试np.argwhere(df.to_numpy()>=0.9).tolist() 或者如果您再次获得空列表,则发布df.tail()的输出 是的,非常感谢!我现在开始工作了

以上是关于获取回答熊猫过滤器的所有值的索引的主要内容,如果未能解决你的问题,请参考以下文章

熊猫数据框索引过滤

如何过滤熊猫系列索引中的字符串

通过包含空值的列表过滤熊猫数据框

如何按月份和年份输入过滤具有日期时间索引的数据框?熊猫

如何在熊猫中过滤 groupby 的结果

熊猫:分组,过滤行,获取平均值