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