Ravindra BagaleCourses & study guides Track your progress

Guides

pandas groupby + agg — नवशिक्यांचे मार्गदर्शक

Read this guide in: English · मराठी · हिंदी

groupby rows गटांमध्ये तोडतो, प्रत्येक गटावर aggregate करतो (sum, mean, count), आणि compact table देतो. Instagram-like likes: Mumbai 80+40=120, Pune 70.

चला मित्रांनो! Row-by-row likes city story लपवतात. groupby म्हणजे pandas चा pivot table. Tiny numbers. स्पष्ट keys. समजलं का?

थोडक्यात उत्तर

उभा groupby path:

  1. Clean row-level data (एक row = एक post किंवा sale).
  2. Key निवडा: उदा. city.
  3. df.groupby("city")["likes"].sum()
  4. अनेक stats साठी named agg.
  5. Charts साठी flat table हवी तर reset_index().
  6. Category counts साठी value_counts compare करा.
split → apply sum/mean/count → combine

Language: English · मराठी · हिंदी

या guide आधी काय हवं?

Before आणि after

Before groupby Three posts before aggregation.

Before — Instagram-like likes still row by row.

After groupby Likes summed by city.

After — groupby("city").sum(); Mumbai 120, Pune 70.

Before: तीन posts. After: Mumbai 120, Pune 70.

Sample engagement table

city likes
Mumbai 80
Mumbai 40
Pune 70
import pandas as pd
df = pd.DataFrame({"city": ["Mumbai", "Mumbai", "Pune"], "likes": [80, 40, 70]})
df.groupby("city")["likes"].sum()

काय दिसेल: Mumbai 120, Pune 70. अर्थ: प्रत्येक city मध्ये likes add झाले.

Named aggregation

(df.groupby("city")
   .agg(total_likes=("likes", "sum"),
        posts=("likes", "count"))
   .reset_index())

Shop sales groupby

चार-row shop file वर channel ने group:

  1. Online → 190
  2. Store → 70

दोन keys: groupby(["city", "channel"]).

value_counts vs groupby

  1. df["city"].value_counts() — प्रत्येक city किती rows.
  2. groupby — likes/sales सारख्या measures चे totals/means.

Infosys-style hours

client hours
A 40
B 20
A 30

groupby("client")["hours"].sum() → A 70, B 20.

Ravindra Bagale's Tip

groupby random वाटला तर df.head() print करून grain सांगा: “एक row = एक post.” चुकीचा grain प्रत्येक total तोडतो. समजलं का?

Practice task

  1. तीन-row likes table.
  2. City ने sum; Mumbai 120.
  3. Named agg + post counts.
  4. Shop वर channel groupby; Online 190.

समजलं का? groupby = split, aggregate, combine. Mumbai 120, Pune 70. मग chart. आता पुढे जाऊया.

Frequently asked questions

What does groupby do?

Splits rows into groups, applies an aggregation, combines results.

Can I group by two columns?

Yes: groupby(["city", "channel"]).

Why is my result a Series?

Selecting one column then sum often returns a Series — reset_index or to_frame if you want a DataFrame.

mean vs sum?

sum for totals; mean for averages. Count for how many rows landed in the group.

Empty groups?

By default you only see groups that exist in the data.

Course links?

groupby chapter — why groupby, named agg, value_counts.