加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 返回pandas数据帧中特定值的列名

发布时间:2020-12-16 23:34:45 所属栏目:Python 来源:网络整理
导读:我在其他语言(如R或SQL)中找到此选项但我不太确定如何在Pandas中进行此操作. 所以我有一个包含1262列和1行的文件,并且每次出现特定值时都需要返回列标题. 比如说这个测试数据帧: Date col1 col2 col3 col4 col5 col6 col7 01/01/2016 00:00 37.04 36.57 35.
我在其他语言(如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

你也可以使用idxmax与param轴= 1:

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

Out[52]:
'col7'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读