为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫 - 按一列分组,然后按所有剩余列排序

熊猫 - 按一列分组,然后按所有剩余列排序

陪伴而非守候 2023-03-22 13:49:13
我需要按“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)


查看完整回答
反对 回复 2023-03-22
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号