How to Iterate over Dataframe Groups in Python-Pandas?



How to Iterate over Dataframe Groups in Python-Pandas?

In this article, we’ll see how we can iterate over the groups in which a dataframe is divided. So, let’s see different ways to do this task.

First, Let’s create a dataframe:

Code:

# import pandas library
import pandas as pd
 
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
 
# create a dataframe
df = pd.DataFrame(dict)
 
# show the dataframe
df

Output:

dataframe

Method 1: Using Dataframe.groupby().

This function is used to split the data into groups based on some criteria.

Example: we’ll simply iterate over all the groups created.

# import pandas library
import pandas as pd
 
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
 
# create a dataframe
df = pd.DataFrame(dict)
 
# group by 'X' column
groups = df.groupby("X")
 
for name, group in groups:
    print(name)
    print(group)
    print("\n")

Output:

 

show data group by column x

In above example, we have grouped on the basis of column “X”. As there are two different values under column “X”, so our dataframe will be divided into 2 groups. Then our for loop will run 2 times as the number groups are 2. “name” represents the group name and “group” represents the actual grouped dataframe.
Method 2: Using Dataframe.groupby() and Groupby_object.groups.keys() together.

Groupby_object.groups.keys() method will return the keys of the groups.

Example: we’ll iterate over the keys.

# import pandas library
import pandas as pd
 
# dictionary
dict = {'X': ['A', 'B', 'A', 'B'],
        'Y': [1, 4, 3, 2]}
 
# create a dataframe
df = pd.DataFrame(dict)
 
# group by "X" column
groups = df.groupby('X')
 
# extract keys from groups
keys = groups.groups.keys()
 
for i in keys:
    print(groups.get_group(i))
    print('\n')

Output:

show data group by column x-1

In above example, we’ll use the function groups.get_group() to get all the groups. First we’ll get all the keys of the group and then iterate through that and then calling get_group() method for each key. get_group()  method will return group corresponding to the key.

Last Updated on October 18, 2021 by admin

Leave a Reply

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

Recommended Blogs