Pandas Groupby - 命名聚合输出列

mik*_*sey 6 python pandas

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

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

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

Ale*_*der 5

根据文档

\n\n
\n

如果传递字典,则将使用键来命名列。\n 否则,将使用函数\xe2\x80\x99s 名称(存储在函数对象中)\n。

\n\n

在[58]中: grouped[\'D\'].agg({\'result1\' : np.sum, ....:
\n \'result2\' : np.mean})

\n
\n\n

在你的情况下:

\n\n
df.groupby([\'year\', \'month\'], as_index=False).users.agg({\'total_users\': np.sum})\n
Run Code Online (Sandbox Code Playgroud)\n


bco*_*ins 5

我喜欢@Alexander 的回答,但也有add_prefix

df.groupby(['year','month']).agg({'users':sum}).add_prefix('total_')
Run Code Online (Sandbox Code Playgroud)