Using groupby on already grouped data in Pandas
Question:
I would like to achieve the below in Python using Pandas.
I tried groupby and sum on the id and Group columns using the below:
df.groupby(['id','Group'])['Total'].sum()
I got the first two columns, but I’m not sure on how to get the third column (Overall_Total).
How can I do it?
Initial data (before grouping)
Answers:
Assuming df
is your initial dataframe, please try this:
df_group = df.groupby(['id','group']).sum(['time']).rename(columns={'time':'Total'})
df_group['All_total'] = df_group.groupby(['id'])['Total'].transform('sum')
I would like to achieve the below in Python using Pandas.
I tried groupby and sum on the id and Group columns using the below:
df.groupby(['id','Group'])['Total'].sum()
I got the first two columns, but I’m not sure on how to get the third column (Overall_Total).
How can I do it?
Initial data (before grouping)
Assuming df
is your initial dataframe, please try this:
df_group = df.groupby(['id','group']).sum(['time']).rename(columns={'time':'Total'})
df_group['All_total'] = df_group.groupby(['id'])['Total'].transform('sum')