Group by and AggregatingΒΆ

The .groupby() method implements the split-apply-combine paradigm: split a DataFrame into groups based on column values, apply an aggregation function to each group independently, and combine the results into a new DataFrame. This is the Pandas equivalent of SQL’s GROUP BY and is essential for computing summary statistics per category.

This notebook demonstrates single-column grouping with .mean(), .count(), and .sum(), multi-aggregation with .agg() using a dictionary to apply different functions to different columns, multi-level grouping by passing a list of columns, and comprehensive group statistics with .describe(). These operations are the foundation for computing KPIs, building summary reports, and preparing aggregated features for machine learning models.

import pandas as pd
df = pd.read_csv(r"C:\Users\alexf\OneDrive\Documents\Pandas Tutorial\Flavors.csv")
df
group_by_frame = df.groupby('Base Flavor')
group_by_frame.mean()
df.groupby('Base Flavor').mean()
df.groupby('Base Flavor').count()
df.groupby('Base Flavor').sum()
df.groupby('Base Flavor').agg({'Flavor Rating': ['mean','max','count','sum'], 'Texture Rating':['mean','max','count','sum'] })
df.groupby(['Base Flavor','Liked']).agg({'Flavor Rating': ['mean','max','count','sum']})
df.groupby('Base Flavor').describe()