如何获取pandas dataframe列的最大值并在另一列中找到相应的值?

时间:2017-07-06 02:20:48

标签: python pandas dataframe max

我想获取pandas dataframe列的最大值并在另一列中找到相应的值?假设最大值没有重复,因此您始终只返回一个值。例如,

GPA   ID
2.3  Tina1
3.4  Bob1
3.6  Lia1
2.9  Tina2
4.0  Blake1
4.5  Conor2

这里最大GPA是4.5,但我想返回最大GPA的相应id,所以我会返回Conor2。我不确定如何做到这一点,所以非常感谢帮助:)谢谢!

2 个答案:

答案 0 :(得分:2)

您可以使用

df.loc[df.GPA == df.GPA.max(), 'ID']

你得到了

5    Conor2

如果您不想要索引而只想要值,请尝试

df.loc[df.GPA == df.GPA.max(), 'ID'].values[0]

你得到了

'Conor2'

答案 1 :(得分:2)

让我们使用idxmax

df.set_index('ID').idxmax()

输出:

GPA    Conor2
dtype: object

具有单个值'Conor2'的系列。