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 –
- Import the necessary libraries.
- Set up the data as a Pandas DataFrame.
- Use apply function to find different statistical measures like Rolling Mean, Average, Sum, Maximum, and Minimum. You can use the lambda function for this.
Below is the implementation-
Let’s create the dataframe.
Python3
#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:
Python3
# 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:
Python3
# finding mean mean = data_df.groupby( "Student House" )[ "Points" ]. apply ( lambda x: x.mean()) print ( "Mean:" ) print (mean) |
Output:
Example 3:
Python3
# finding sum sum = data_df.groupby( "Student House" )[ "Points" ]. apply ( lambda x: x. sum ()) print ( "Sum:" ) print ( sum ) |
Output: