Use Custom Aggregation Functions in Pandas GroupBy
Pandas Advanced Grouping and Aggregation: Exercise-3 with Solution
Custom Aggregation Functions:
Write a Pandas program to implement custom aggregation functions within groupby for tailored data analysis.
Sample Solution:
Python Code :
import pandas as pd
# Sample DataFrame
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
'Value': [5, 15, 25, 35, 45, 55]}
df = pd.DataFrame(data)
print("Sample DataFrame:")
print(df)
# Define custom aggregation function
def custom_agg(x):
return x.max() - x.min()
# Group by 'Category' and apply custom aggregation
print("\nGroup by 'Category' and apply custom aggregation:")
grouped = df.groupby('Category').agg(custom_agg)
print(grouped)
Output:
Sample DataFrame: Category Value 0 A 5 1 A 15 2 B 25 3 B 35 4 C 45 5 C 55 Group by 'Category' and apply custom aggregation: Value Category A 10 B 10 C 10
Explanation:
- Import pandas.
- Create a sample DataFrame.
- Define a custom aggregation function.
- Group by 'Category' and apply the custom function.
- Print the result.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Apply Multiple Aggregations on Grouped Data in Pandas.
Next: Group by and Filter Groups in Pandas.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics