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

Jan*_*lly 5 python max dataframe pandas

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

GPA   ID
2.3  Tina1
3.4  Bob1
3.6  Lia1
2.9  Tina2
4.0  Blake1
4.5  Conor2
Run Code Online (Sandbox Code Playgroud)

这里最大 GPA 是 4.5,但我想返回最大 GPA 对应的 id,所以我会返回 Conor2。我不确定如何做到这一点,所以我们将不胜感激:) 谢谢!

Vai*_*ali 5

您可以使用

df.loc[df.GPA == df.GPA.max(), 'ID']
Run Code Online (Sandbox Code Playgroud)

你得到

5    Conor2
Run Code Online (Sandbox Code Playgroud)

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

df.loc[df.GPA == df.GPA.max(), 'ID'].values[0]
Run Code Online (Sandbox Code Playgroud)

你得到

'Conor2'
Run Code Online (Sandbox Code Playgroud)