python-3.x - 从 pandas 数据框中的类别(列)中选择前 n 行并对其执行计算

标签 python-3.x pandas dataframe

我是 pandas 的新手,我正在分析 FIFA 数据集,我需要为每个位置选择前 5 名球员(基于总分)。

还有,

我想检查是否有任何玩家出现在多个组中,是否符合上述条件。 2. 对各个组进行mean、max等操作。

谢谢

当我使用此操作时,我无法检索其他列,例如姓名和工资。

fifa_df.groupby('Position')['Overall'].nlargest(5).groupby('Position').head()

样本数据: enter image description here 预期结果如下:

enter image description here

我也在努力寻找,不止一个组中的所有玩家,

并尝试为每个位置的前 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
....

希望能解决你的问题

关于python-3.x - 从 pandas 数据框中的类别(列)中选择前 n 行并对其执行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56920927/

相关文章:

python - Python中复杂多重继承中的构造函数调用序列

python-3.x - pandas DatetimeIndex 到 matplotlib x-ticks

python - 根据一段时间内的匹配观察结果计算差异

python - 使用 where 子句中的变量从 sqlite3 读取 pandas 数据帧

python - 如何根据pandas中的多列快速选择数据框

arrays - 带有 numpy 数组的 Pandas 数据框值

mysql - libmariadbclient-dev 安装错误 : Depends: libmariadbclient18

python - 如何解压 Flask Sqlalchemy 中使用的枚举值?

python - 无论键盘布局如何,python 都可以检测到键盘上使用了哪个键吗?

python - 新手 - 将 49 张 Excel 工作表读入数据框