我在其他语言(如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'