我想获取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。我不确定如何做到这一点,所以非常感谢帮助:)谢谢!
答案 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'的系列。