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:
- Clean row-level data (एक row = एक post किंवा sale).
- Key निवडा: उदा.
city. df.groupby("city")["likes"].sum()- अनेक stats साठी named agg.
- Charts साठी flat table हवी तर
reset_index(). - Category counts साठी
value_countscompare करा.
split → apply sum/mean/count → combine
Language: English · मराठी · हिंदी
या guide आधी काय हवं?
- Filtering basics.
- Course: Why groupby.
Before आणि after
Before — Instagram-like likes still row by row.
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:
- Online → 190
- Store → 70
दोन keys: groupby(["city", "channel"]).
value_counts vs groupby
df["city"].value_counts()— प्रत्येक city किती rows.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
- तीन-row likes table.
- City ने sum; Mumbai 120.
- Named agg + post counts.
- Shop वर channel groupby; Online 190.
Learn it properly
Related: Filter rows and columns · EDA checklist
समजलं का? 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.