如何在特定列中找到最大值,然后在数据框的另一列中返回对应的值?

时间:2019-04-28 03:58:05

标签: python pandas

我有一个像这样的数据框:

Keyword  A B C D ... X Y Z
First    1 2 3 4 ... 8 5 3
Second   2 6 2 9 ... 6 1 2
Third    3 3 2 3 ... 5 3 4

我还有一个列表letters,其中的列名从A到Z。

我想在每一列中获取最大值的关键字。

如果我只想获得一列,则类似这样的事情会起作用:

max = df['A'].max()
df.loc[df['A'] == max, 'Keyword']

A Third

我将如何在所有列中获取它?

那应该是:

A Third
B Second
C First
D Second
...
X First
Y First
Z Third

1 个答案:

答案 0 :(得分:2)

第一个set_index然后第idxmax

df.set_index('Keyword').idxmax()
A     Third
B    Second
C     First
D    Second
X     First
Y     First
Z     Third
dtype: object