Aggregate pandas DataFrame by Group Column Value in Python (2 Examples)

In this tutorial you’ll learn how to aggregate a pandas DataFrame by a group indicator in the Python programming language.

Creation of Example Data

import pandas as pd                               # Import pandas
my_df = pd.DataFrame({'A':range(19, 28),          # Constructing a pandas DataFrame
                      'B':[6, 7, 3, 9, 1, 3, 8, 8, 9],
                      'C':range(20, 11, - 1),
                      'GRP_a':['gr1', 'gr1', 'gr2', 'gr3', 'gr1', 'gr2', 'gr2', 'gr3', 'gr3'],
                      'GRP_b':['a', 'b', 'c', 'c', 'a', 'b', 'b', 'a', 'a']})
print(my_df)
#     A  B   C GRP_a GRP_b
# 0  19  6  20   gr1     a
# 1  20  7  19   gr1     b
# 2  21  3  18   gr2     c
# 3  22  9  17   gr3     c
# 4  23  1  16   gr1     a
# 5  24  3  15   gr2     b
# 6  25  8  14   gr2     b
# 7  26  8  13   gr3     a
# 8  27  9  12   gr3     a

Example 1: Calculate Mean by One Group Indicator

print(my_df.groupby('GRP_a').mean())              # Computing the column mean by group
#                A         B          C
# GRP_a                                
# gr1    20.666667  4.666667  18.333333
# gr2    23.333333  4.666667  15.666667
# gr3    25.000000  8.666667  14.000000

Example 2: Calculate Sum by Multiple Group Indicators

print(my_df.groupby(['GRP_a', 'GRP_b']).sum())    # Computing the column sum by multiple groups
#               A   B   C
# GRP_a GRP_b            
# gr1   a      42   7  36
#       b      20   7  19
# gr2   b      49  11  29
#       c      21   3  18
# gr3   a      53  17  25
#       c      22   9  17

Further Resources & Related Articles

In the following, you may find some further resources on topics such as variables and dates:

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.
You need to agree with the terms to proceed

Menu
Top