python - 按单列分组后如何选择多列
问题描述
我想找到每个位置上总评分最高的球员。在熊猫中最好和最紧凑的方法是什么?
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 中的类别太多,因此这是一项繁琐的任务。
解决方案
你可以试试这个:
df[df["Overall"]==df["Overall"].max()]
这会有所帮助。
推荐阅读
- r - 在 Moodle 中结合 mchoice 和 num 导入的完形填空题
- linux - 在 D 应用程序中链接到 Linux 下的 zlib 时如何解决此错误?
- javascript - Jquery 在 Django html 页面中不起作用
- python - KeyError:尝试从 API 返回记录计数时的记录
- javascript - Selenium如何单击具有隐藏属性的按钮
- javascript - 我如何使用 fb jssdk 获得所有股份的总和
- c++ - Google KickStart Round B Bus Routes Problem 错误答案?
- selenium - Selenium:如何在不单击选项卡的情况下获取文本?
- php - 我有一个更新mysql中一些值的表单,当输入为空时如何避免更新单元格?
- wpf - TextBlock 中的 XAML 自定义文本