Grouping Rows in pandas

Pandas is the most popular Python library that is used for data analysis. It provides highly optimized performance with back-end source code is purely written in C or Python.

Let’s see how to group rows in Pandas Dataframe with help of multiple examples.

Example 1:

For grouping rows in Pandas, we will start with creating a pandas dataframe first.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing Pandas
import pandas as pd
  
# example dataframe
example = {'Team':['Arsenal', 'Manchester United', 'Arsenal',
                   'Arsenal', 'Chelsea', 'Manchester United',
                   'Manchester United', 'Chelsea', 'Chelsea', 'Chelsea'],
                     
           'Player':['Ozil', 'Pogba', 'Lucas', 'Aubameyang',
                       'Hazard', 'Mata', 'Lukaku', 'Morata'
                                         'Giroud', 'Kante'],
                                           
           'Goals':[5, 3, 6, 4, 9, 2, 0, 5, 2, 3] }
  
df = pd.DataFrame(example)
  
print(df)

chevron_right


Now, create a grouping object, means an object that represents that particular grouping.

filter_none

edit
close

play_arrow

link
brightness_4
code

total_goals = df['Goals'].groupby(df['Team'])
  
# printing the means value
print(total_goals.mean())    

chevron_right


Output:

 
Example 2:

filter_none

edit
close

play_arrow

link
brightness_4
code

import pandas as pd
  
# example dataframe
example = {'Team':['Australia', 'England', 'South Africa',
                   'Australia', 'England', 'India', 'India',
                        'South Africa', 'England', 'India'],
                          
           'Player':['Ricky Ponting', 'Joe Root', 'Hashim Amla',
                     'David Warner', 'Jos Buttler', 'Virat Kohli',
                     'Rohit Sharma', 'David Miller', 'Eoin Morgan',
                                                 'Dinesh Karthik'],
                                                   
          'Runs':[345, 336, 689, 490, 989, 672, 560, 455, 342, 376],
            
          'Salary':[34500, 33600, 68900, 49000, 98899,
                    67562, 56760, 45675, 34542, 31176] }
  
df = pd.DataFrame(example)
  
total_salary = df['Salary'].groupby(df['Team'])
  
# printing the means value
print(total_salary.mean())     

chevron_right


Output:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.