Open In App

How to reset index after Groupby pandas?

Last Updated : 11 Dec, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Python’s groupby() function is versatile.  It is used to split the data into groups based on some criteria like mean, median, value_counts, etc. In order to reset the index after groupby() we will use the reset_index() function.

Below are various examples which depict how to reset index after groupby() in pandas:

Example 1 

Python3




# import required modules
import numpy as np
import pandas as pd
  
# creating dataframe
df = pd.DataFrame({'Subject': ['Physics'
                               'Chemistry'
                               'Maths'], 
                   'Marks': [4, 8, 5]})
  
# grouping the data on the basis of 
# subject and mean of marks.
df_grouped = df.groupby(['Subject']).mean()
  
# display dataset
df_grouped


Output:

Resetting the index after grouping data, using reset_index(), it is a function provided by python to add indexes to the data.

Python3




# reset index
df_grouped.reset_index()


Output:

Example 2: 

Creating Dataframe.

Python3




# import required modules
import pandas as pd
import numpy as np
  
# creating dataframe
df2 = pd.DataFrame({'Student': [1, 2, 3, 4, 1, 3, 2, 4, 1, 2, 4, 3],
                    'Amount': [
                   10, 20, 30, 40, 20, 60, 40, 80, 30, 60, 120, 90]})
  
# grouping the data
df2_group = df2.groupby(['Student'])
  
# grouped on the basis of students and
# with the value of count of amount
df2_grouped = df2_group['Amount'].value_counts()
  
# display dataset
print(df2_grouped)


Output:

Resetting the index. This will give you an error.

Python3




# this will generate an error.
df2_grouped.reset_index()


Output:

Naming the reset_index() will group and reset the index.

Python3




# resetting index on the basis of count
df2_grouped.reset_index(name = 'count')


Output:

Example 3

Here, is another example to depict how to reset dataframe after using groupby().

Python3




# import required modules
import numpy as np
import pandas as pd
  
# creating dataframe
df = pd.DataFrame({'Subject': ['B'
                               'C'
                               'A','D','C','B','A'], 
                   'Marks': [4, 8, 5,9,8,1,0]})
  
# grouping the data on the basis of 
# subject and mean of marks.
df_grouped = df.groupby(['Subject']).mean()
  
# display dataset
df_grouped
  
# reset index
df_grouped.reset_index()


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads