首页 > 解决方案 > 大熊猫中的分组总和和平均值并制作数据框

问题描述

我有一个如下所示的数据框

ID     Score
A      20
B      60
A      40
C      50
B      100
C      60
C      40
A      10
A      10
A      70

从上面我想计算每个 ID 的平均分数和总分。

预期输出:

ID    Average_score     Total_score
A     30                150
B     80                160
C     50                150

标签: pandaspandas-groupby

解决方案


对自定义列名称使用命名聚合:

df1 = (df.groupby('ID').agg(Average_score=('Score','mean'), 
                            Total_score=('Score','sum'))
         .reset_index())
print (df1)
  ID  Average_score  Total_score
0  A             30          150
1  B             80          160
2  C             50          150

推荐阅读