pandas groupby multiple columns code example

Example 1: dataframe groupby multiple columns

grouped_multiple = df.groupby(['Team', 'Pos']).agg({'Age': ['mean', 'min', 'max']})
grouped_multiple.columns = ['age_mean', 'age_min', 'age_max']
grouped_multiple = grouped_multiple.reset_index()
print(grouped_multiple)

Example 2: two groupby pandas

In [8]: grouped = df.groupby('A')

In [9]: grouped = df.groupby(['A', 'B'])

Example 3: group by 2 columns pandas

In [11]: df.groupby(['col5', 'col2']).size()
Out[11]:
col5  col2
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

Example 4: pandas sum multiple columns groupby

#UPDATED (June 2020): Introduced in Pandas 0.25.0, 
#Pandas has added new groupby behavior “named aggregation” and tuples, 
#for naming the output columns when applying multiple aggregation functions 
#to specific columns.

df.groupby(
     ['col1','col2']
 ).agg(
     sum_col3 = ('col3','sum'),
     sum_col4     = ('col4','sum'),
 ).reset_index()