我需要按“player_slug”對下面的數據框進行分組,然后對每個(數字)“平均”列的所有列進行排序。請注意,列值已經是平均值。這是df.head(5): player_slug player_id player_nickname player_team player_position ... DD_mean DP_mean status price_diff last_points0 paulo-andre 37604 Paulo André 293 zag ... 0.000000 0.000000 Provável 0.11 1.71 evandro 37614 Evandro 277 mei ... 0.000000 0.000000 Dúvida -1.78 2.82 betao 37646 Bet?o 314 zag ... 0.000000 0.000000 Provável -0.14 0.13 rafael-moura 37655 Rafael Moura 290 ata ... 0.000000 0.000000 Provável 2.89 22.24 fabio 37656 Fábio 283 gol ... 1.257143 0.057143 Provável 0.42 2.0我試圖創建一個函數并傳遞所有功能,如下所示: columns = ['score_mean','score_no_cleansheets_mean','diff_home_away_s', 'n_games','score_mean_home','score_mean_away','shots_x_mean','fouls_mean','RB_mean', 'PE_mean','A_mean','I_mean','FS_mean','FF_mean','G_mean','DD_mean','DP_mean', 'price_diff','last_points']def sorted_medias(df, feature=None): df_agg = df.groupby(['player_slug', 'player_team']).agg({feature:'sum'}).sort_values(feature, ascending=False) print (df_agg)最后:for feature in columns: sorted_medias(df_medias, feature)但我不確定在 agg 中使用“總和”或“平均值”,因為值已經是平均值。去這里的路是什么?
1 回答

桃花長相依
TA貢獻1860條經驗 獲得超8個贊
看起來這就是 OP 所要求的。按玩家分組并選擇組內的任何值,因為值已經聚合。
df.groupby(['player_slug'])['goals'].min().sort_values(ascending=False)
添加回答
舉報
0/150
提交
取消