Reputation: 8584
I have a pandas
groupby
command which looks like this:
df.groupby(['year', 'month'], as_index=False).agg({'users':sum})
Is there a way I can name the agg
output something other than 'users' during the groupby command? For example, what if I wanted the sum of users to be total_users? I could rename the column after the groupby is complete, but wonder if there is another way.
Upvotes: 6
Views: 5865
Reputation: 109546
Per the docs:
If a dict is passed, the keys will be used to name the columns. Otherwise the function’s name (stored in the function object) will be used.
In [58]: grouped['D'].agg({'result1' : np.sum, ....:
'result2' : np.mean})
In your case:
df.groupby(['year', 'month'], as_index=False).users.agg({'total_users': np.sum})
Upvotes: 5
Reputation: 3459
I like @Alexander answer, but there is also add_prefix
:
df.groupby(['year','month']).agg({'users':sum}).add_prefix('total_')
Upvotes: 5