首页 > 解决方案 > 按单列分组后如何选择多列

问题描述

我想找到每个位置上总评分最高的球员。在熊猫中最好和最紧凑的方法是什么?

Name            Overall Potential   Club                Position
L. Messi        94      94          FC Barcelona        RF
Ronaldo         94      94          Juventus            ST
Neymar Jr       92      93          Paris Saint-Germain LW
De Gea          91      93          Manchester United   GK
K. De Bruyne    91      92          Manchester City     RCM
E. Hazard       91      91          Chelsea             LF
L. Modrić       91      91          Real Madrid         RCM
L. Suárez       91      91          FC Barcelona        RS
Sergio Ramos    91      91          Real Madrid         RCB
J. Oblak        90      93          Atlético Madrid     GK
R. Lewandowski  90      90          FC Bayern München   ST
T. Kroos        90      90          Real Madrid         LCM

我努力了:

fifa.groupby(by = ["Position"])['Overall'].max()

其次是

fifa.loc[(fifa["Position"] == "CAM") & (fifa['Overall'] == 89),:]

但是由于 Position 中的类别太多,因此这是一项繁琐的任务。

标签: pythonpandaspandas-groupby

解决方案


你可以试试这个:

df[df["Overall"]==df["Overall"].max()]

这会有所帮助。


推荐阅读