groupby pandas 中的 idxmax() 和 max() 有什么区别

jvq*_*vqp 1 python pandas pandas-groupby

我有一个数据框,其中包含来自不同球队的许多球员的数据。我想要的是按“团队”分组,并且只保留高度最大值的行。

\n\n

当我使用此代码时,我刚刚获得“团队”标签和人员身高:

\n\n

代码:

\n\n
df.groupby(['team'], sort=True)['height'].max()\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出:

\n\n

球队
\n阿根廷 199
\n澳大利亚 193
\n比利时 199 (...)

\n\n

然后我将groupby和loc结合起来得到玩家的全部信息:

\n\n
fifa.loc[fifa.groupby('team')['height'].idxmax()]\n
Run Code Online (Sandbox Code Playgroud)\n\n

这打印了整行,但我不明白为什么我使用idxmax()而不是max()在代码末尾。

\n\n

谁能解释一下其中的区别吗?

\n

Ale*_*ine 5

max()简单地返回最大值。

idmax()返回最大值(第一次出现)的索引,而不是最大值本身。