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

前端之家收集整理的这篇文章主要介绍了python – 返回pandas数据帧中特定值的列名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在其他语言(如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'

猜你在找的Python相关文章