当前位置: 首页 > 面试题库 >

返回pandas数据框中特定值的列名

麻书
2023-03-14
问题内容

在其他语言(例如R或SQL)中找到该选项的地方,但我不太确定如何在Pandas中进行此操作。

因此,我有一个具有1262列和1行的文件,并且每次出现特定值时都需要返回列标题。

例如说这个测试数据框:

Date               col1    col2    col3    col4    col5    col6    col7 
01/01/2016 00:00   37.04   36.57   35.77   37.56   36.79   35.90   38.15

我需要找到列名,例如value = 38.15。最好的方法是什么?

谢谢


问题答案:

看到只有一行,那么您可以调用iloc[0]结果并使用它来屏蔽列:

In [47]:
df.columns[(df == 38.15).iloc[0]]

Out[47]:
Index(['col7'], dtype='object')

分解以上内容:

In [48]:
df == 38.15

Out[48]:
             Date   col1   col2   col3   col4   col5   col6  col7
01/01/2016  False  False  False  False  False  False  False  True

In [49]:
(df == 38.15).iloc[0]

Out[49]:
Date    False
col1    False
col2    False
col3    False
col4    False
col5    False
col6    False
col7     True
Name: 01/01/2016, dtype: bool

您也可以使用idxmaxparam
axis=1

In [52]:
(df == 38.15).idxmax(axis=1)[0]

Out[52]:
'col7'


 类似资料:
  • 问题内容: Python pandas具有pct_change函数,可用于计算数据帧中股票价格的回报: 我正在使用以下代码获取对数返回值,但它给出的值与pct.change()函数完全相同: 问题答案: 这是一种使用来计算日志返回的方法。结果与所计算的总收益相似但不相同。您可以上传示例数据的副本(Dropbox共享链接)以重现您看到的不一致之处吗?

  • 问题内容: 我有一个重复的行的DataFrame。我想获得一个具有唯一索引且没有重复项的DataFrame。可以丢弃重复的值。这可能吗?做完了吗? 问题答案: In [29]: df.drop_duplicates() Out[29]: b c 1 2 3 3 4 0 7 5 9

  • 问题内容: 从pandas数据框中选择所有行的最简单方法是什么?谁的符号在整个表中恰好出现两次?例如,在下表中,我想选择在[‘b’,’e’]中带有sym的所有行,因为这些符号的value_counts等于2。 问题答案: 我认为您可以按列和值使用: 第二个解决方案使用与布尔索引: 并用最快的解决方案和:

  • 问题内容: 对于数据框 我有兴趣按名称和等级分组,并且可能会得到汇总值 但是我想在原始字段中获得一个字段,其中包含该行的组号,例如 有没有在熊猫中做到这一点的好方法? 我可以用python来获得 但是在大型数据框上它的运行速度很慢,因此我认为可能会有更好的内置熊猫方法来做到这一点。 问题答案: 很多方便的东西存储在对象中。例如: 所以: 潜伏在某个地方可能会有更好的别名,但是无论如何这应该起作用。

  • 问题内容: 我正在寻找编写一个快速脚本,该脚本将通过具有两列的csv文件运行,并为我提供行,其中B列中的值从一个值切换为另一个: 例如: 数据框: 会告诉我更改发生在第2行和第3行之间。我知道如何使用for循环获取这些值,但我希望有解决此问题的更Python方式。 问题答案: 您可以为差异创建一个新列 这将是您所需的行

  • 问题内容: 我想在pandas数据框列中找到一个特定的模式,并返回相应的索引值以对数据框进行子集化。 这是带有可能模式的示例数据框: 生成数据框的代码段: 数据框: 下面,感兴趣的格局发生的日期来,这就是我想要结束了一下: 所需的输出: 如果同一模式多次出现,我希望以相同的方式对数据帧进行子集化,并计算该模式出现的次数,但是只要我将第一步弄清楚,我希望这会更直接。 感谢您的任何建议! 问题答案: