Open In App

How to apply functions in a Group in a Pandas DataFrame?

In this article, let’s see how to apply functions in a group in a Pandas Dataframe. Steps to be followed for performing this task are – 

Below is the implementation-



Let’s create the dataframe.




#import libraries
import pandas as pd
  
# set up the data
data_dict = {"Student House": ["Lavender", "Lavender", "Lavender",
                               "Lavender", "Daisy", "Daisy"
                               "Daisy", "Daisy", "Daffodils"
                               "Daffodils", "Daffodils", "Daffodils"],
               
             "Points": [10, 4, 6, 7, 3, 8, 9, 10, 4, 5, 6, 7]}
  
data_df = pd.DataFrame(data_dict)
print("Dataframe : ")
data_df

Output:



Example 1:




# finding rolling mean
rolling_mean = data_df.groupby("Student House")["Points"].apply(
    lambda x: x.rolling(center=False, window=2).mean())
  
print("Rolling Mean:")
print(rolling_mean)

Output:

Example 2:




# finding mean
mean = data_df.groupby("Student House")["Points"].apply(
  lambda x: x.mean())
  
print("Mean:")
print(mean)

Output:

Example 3:




# finding sum
sum = data_df.groupby("Student House")["Points"].apply(
  lambda x: x.sum())
  
print("Sum:")
print(sum)

Output:


Article Tags :