Pandas Groupby - 命名聚合输出列

时间:2016-01-29 04:22:51

标签: python pandas

我有一个pandas groupby命令,如下所示:

df.groupby(['year', 'month'], as_index=False).agg({'users':sum})

我有没有办法将agg输出命名为'用户'以外的其他内容?在groupby命令期间?例如,如果我希望用户总数为total_users怎么办?我可以在groupby完成后重命名列,但想知道是否还有其他方法。

2 个答案:

答案 0 :(得分:2)

根据docs

  

如果传递了dict,则键将用于命名列。   否则函数的名称(存储在函数对象中)将是   使用

     

在[58]中:分组[' D']。agg({' result1':np.sum,....:
  ' RESULT2' :np.mean})

在你的情况下:

df.groupby(['year', 'month'], as_index=False).users.agg({'total_users': np.sum})

答案 1 :(得分:1)

我喜欢@Alexander的答案,但还有add_prefix

df.groupby(['year','month']).agg({'users':sum}).add_prefix('total_')