🐼 Python Pandas examples

pandas agg Examples

Create multiple summaries such as sum, mean, count and max in one table.

Updated 2026-06-125 practical examplesCopy-ready code

💡 Ideas for You

Learning resources for Python Pandas, data cleaning and analysis.

4 useful links

Some links in this section may be affiliate links. Choose only what is useful for your own work.

Sample DataFrame context

A sales report where each group needs several KPI columns.

Syntax or pattern

df.groupby("region").agg(total_sales=("revenue","sum"))
✍️

5 practical examples

1

Total sales by region

Summarize revenue by region.

summary = sales.groupby("region", as_index=False)["revenue"].sum()

The output has one row per region with total revenue.

2

Multiple metrics by region

Create several KPI columns in one groupby.

summary = sales.groupby("region").agg( total_sales=("revenue", "sum"), orders=("order_id", "nunique"), avg_order=("revenue", "mean") ).reset_index()

The report includes total sales, order count and average order value.

3

Group by month and region

Build a monthly regional sales table.

monthly = sales.groupby(["month", "region"], as_index=False)["revenue"].sum()

This is useful for charts and dashboards.

4

Count customers by segment

Count unique customers in each segment.

segment = sales.groupby("segment")["customer_id"].nunique().reset_index(name="customers")

The result shows customer count per segment.

5

Sort the grouped output

Show the largest groups first.

summary = summary.sort_values("total_sales", ascending=False)

The most important regions appear at the top.

Common mistakes to avoid

  • Changing the original DataFrame before checking the result.
  • Forgetting to inspect row counts before and after the operation.
  • Using a pattern without confirming column names and data types.

FAQ

What is the main use of agg Examples?

Create multiple summaries such as sum, mean, count and max in one table.

Should I use this in a notebook or a script?

Both work. Use a notebook while exploring the data, then move the final workflow into a repeatable script when it is stable.

How do I avoid breaking my source data?

Create a copy of the DataFrame before transforming it and check row counts, missing values and sample rows after each important step.