使用groupby根据Pandas数据框中的条件选择行



我有一个熊猫数据框架,如下-

Federation  Game        Medal_each_game
0   AFG         Athletics   1.00
1   AFG         Boxing      0.00
2   AFG         Football    1.00
3   AFG         Hockey      0.00
4   AFG         Taekwondo   2.00
5   AFG         Wrestling   0.00
6   AHO         Athletics   0.00
7   AHO         Boxing      3.00
8   AHO         Fencing     2.00
9   AHO         Football    0.00

我需要找到每个'federation'的最高奖牌数并获得'Game'

输出应该像这样

Federation    Game        Medal_each_game
0   AFG         Taekwondo   2.00
1   AHO         Boxing      3.00

使用groupby_idxmax:

>>> df.loc[df.groupby('Federation')['Medal_each_game'].idxmax()]
Federation       Game  Medal_each_game
4        AFG  Taekwondo              2.0
7        AHO     Boxing              3.0

最新更新