python-3.x - 从 pandas 数据框中的类别(列)中选择前 n 行并对其执行计算
问题描述
我是熊猫的新手,我正在分析 FIFA 数据集,我需要为每个位置选择前 5 名球员(基于总分)。
还,
对于上述情况,我想检查是否有任何玩家出现在多个组中。2. 对各个组执行平均、最大值等操作。
谢谢
使用此操作时,我无法检索名称和工资等其他列。
fifa_df.groupby('Position')['Overall'].nlargest(5).groupby('Position').head()
我也在努力寻找,所有球员都在一个以上的小组中,
并尝试为每个位置的前 5 名球员进行平均工资等操作。
数据集链接 - fifa_dataset
解决方案
尝试在应用中使用 nlargest
res = df[['Name','Position','Overall','Wage']]
res= res.groupby(['Position'],as_index=False).apply(lambda x: x.nlargest(5, 'Overall'))
res.reset_index(inplace=True)
data.drop(['level_0','level_1'],axis=1,inplace=True)
print(data)
Name Position Overall Wage
0 A. Griezmann CAM 89 €145K
1 C. Eriksen CAM 88 €205K
2 Roberto Firmino CAM 86 €195K
3 T. Müller CAM 86 €135K
4 M. Özil CAM 86 €190K
5 D. Godín CB 90 €125K
6 S. Umtiti CB 87 €205K
7 M. Benatia CB 86 €160K
8 N. Otamendi CB 85 €170K
9 Naldo CB 85 €38K
....
我希望它能解决你的问题
推荐阅读
- javascript - 仅使用 javascript 在页面滚动 25% 时获取警报
- string - Lua——子字符串
- android - 清单文件中的android未解决的类.MainActivity错误
- r - 如何保留另一个列表中存在的数据框的变量?
- python - 使用 gunicorn 部署 Flask 应用程序 (exploreflask tuto)
- c# - 如何在 ASPNET 中模拟实体?
- python - 获取具有位置信息的 ngram
- php - AWS S3 中缺少区域参数?
- r - 计算特定的重复组
- julia - DelimitedFiles.readdlm(source, ....) 修改了源代码,这真的是有意的吗?在文档/定义中的什么地方对此进行了解释?