Pandas: How to Use as_index in groupby


You can use the as_index argument in a pandas groupby() operation to specify whether or not you’d like the column that you grouped by to be used as the index of the output.

The as_index argument can take a value of True or False.

The default value is True.

The following example shows how to use the as_index argument in practice.

Example: How to Use as_index in pandas groupby

Suppose we have the following pandas DataFrame that shows the number of points scored by basketball players on various teams:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   'points': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28]})
                            
#view DataFrame
print(df)

  team  points
0    A      12
1    A      15
2    A      17
3    A      17
4    A      19
5    B      14
6    B      15
7    C      20
8    C      24
9    C      28

We can use the following syntax to group the rows by the team column and calculate the sum of the points column, while specifying as_index=True to use team as the index of the output:

#group rows by team and calculate sum of points
print(df.groupby('team', as_index=True).sum())

      points
team        
A         80
B         29
C         72

The output shows the sum of values in the points column, grouped by the values in the team column.

Notice that the team column is used as the index of the output.

If we instead specify as_index=False then the team column will not be used as the index of the output:

#group rows by team and calculate sum of points
print(df.groupby('team', as_index=False).sum())

  team  points
0    A      80
1    B      29
2    C      72

Notice that team is now used as a column in the output and the index column is simply numbered from 0 to 2.

Note: You can find the complete documentation for the pandas groupby() operation here.

Additional Resources

The following tutorials explain how to perform other common operations in pandas:

How to Get Group After Using Pandas Groupby
How to Convert Pandas GroupBy Output to DataFrame
How to Apply Function to Pandas Groupby

Leave a Reply

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