100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

Pandas Advanced (GroupBy & Pivot Tables) Cheat Sheet

Pandas Advanced (GroupBy & Pivot Tables) Cheat Sheet

Advanced groupby aggregations, pivot_table reshaping, and MultiIndex manipulation techniques for summarizing and restructuring data in pandas.

2 PagesIntermediateMar 12, 2026

Advanced GroupBy Aggregations

Named aggregations, transforms, and custom group functions.

python
import pandas as pd# Multiple named aggregations per columnsummary = df.groupby("region").agg(    total_sales=("amount", "sum"),    avg_sales=("amount", "mean"),    num_orders=("order_id", "count")).reset_index()# transform() adds group stats back to the original rowsdf["region_avg"] = df.groupby("region")["amount"].transform("mean")# Custom aggregation functiondf.groupby("region")["amount"].agg(lambda x: x.max() - x.min())# groupby multiple keysdf.groupby(["region", "category"])["amount"].sum()

Pivot Tables

Reshape long data into a summary matrix.

python
pivot = pd.pivot_table(    df,    values="amount",    index="region",    columns="category",    aggfunc="sum",    fill_value=0,    margins=True,        # adds row/column totals    margins_name="Total")# Multiple aggregation functions at oncepd.pivot_table(df, values="amount", index="region",                aggfunc=["sum", "mean", "count"])

MultiIndex & Reshaping

Convert between long and wide formats and flatten hierarchical columns.

python
# Reshape long -> widewide = df.pivot(index="date", columns="product", values="sales")# Reshape wide -> longlong = wide.reset_index().melt(id_vars="date", var_name="product", value_name="sales")# Flatten MultiIndex columns from groupby.agggrouped = df.groupby(["region", "category"]).agg({"amount": ["sum", "mean"]})grouped.columns = ["_".join(col) for col in grouped.columns]

Key Concepts

Terminology for reshaping and summarizing DataFrames.

  • groupby().agg()- Apply one or more aggregation functions per column, optionally with named outputs
  • transform()- Returns a result aligned to the original DataFrame's index, unlike agg() which collapses rows
  • filter()- Keep or drop entire groups based on a group-level condition, e.g. group size > 10
  • pivot_table vs pivot- pivot_table aggregates duplicate index/column combinations; pivot requires unique combinations
  • crosstab- pd.crosstab() computes a frequency table between two or more categorical columns
  • MultiIndex- Hierarchical row/column index created by groupby or pivot with multiple keys
  • stack()/unstack()- Pivot a level of column labels to rows (stack) or rows to columns (unstack)
Pro Tip

Use named aggregation - df.groupby('col').agg(new_name=('col2', 'sum')) - instead of the old dict-based agg syntax; it avoids ambiguous MultiIndex columns and is the recommended modern API.

Was this cheat sheet helpful?

Explore Topics

#PandasAdvancedGroupByPivotTables#PandasAdvancedGroupByPivotTablesCheatSheet#DataScience#Intermediate#AdvancedGroupByAggregations#PivotTables#MultiIndexReshaping#KeyConcepts#MachineLearning#CheatSheet#SkillVeris
Advertisement
Sri Hayavadhana Info-Tech

Professional Web Designing Services

  • Responsive Websites
  • E-commerce Solutions
  • SEO Friendly Design
  • Fast & Secure
  • Support & Maintenance
Get a Free Quote

Share this Cheat Sheet