首页 > 解决方案 > 如何在特定列中找到最大值并在我的数据框的另一列中返回相应的值?

问题描述

我有一个类似这样的数据框:

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

标签: pythonpandas

解决方案


第一set_index然后idxmax

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

推荐阅读