← Back to Pandas Course | Chapter 7: Grouping & Aggregation | Lesson 4 of 7

transform के साथ groupby

transform original के बराबर size का result return करता है, जो group statistics को नए columns की तरह जोड़ने के लिए आदर्श है।

In this page:

  1. groupby with transform
Syntax
python
df["new_column"] = df.groupby("group_column")["value_column"].transform("function_name")

groupby with transform

agg के विपरीत, जो हर group को एक value में सिकोड़ देता है, transform per-group result को हर row पर वापस broadcast करता है। इससे आप हर row के group total में हिस्से या group mean से विचलन जैसे columns जोड़ सकते हैं। output का index input से मेल खाता है।

Note: df["pct"] = df["x"] / df.groupby("g")["x"].transform("sum") group shares देता है।

उदाहरण: groupby with transform

python
import pandas as pd

df = pd.DataFrame({"dept": ["A", "A", "B", "B"], "salary": [100, 300, 200, 200]})
df["dept_mean"] = df.groupby("dept")["salary"].transform("mean")
df["share"] = df["salary"] / df.groupby("dept")["salary"].transform("sum")
print(df)

# Output:
#   dept  salary  dept_mean  share
# 0    A     100      200.0   0.25
# 1    A     300      200.0   0.75
# 2    B     200      200.0   0.50
# 3    B     200      200.0   0.50
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. agg का उपयोग करके फिर हाथ से merge back करने की कोशिश करना
  2. function से अलग length return करना
  3. transform को apply के साथ confuse करना
चैप्टर सारांश
  • transform original length बनाए रखता है
  • यह group results को rows पर broadcast करता है
  • shares और deviations के लिए perfect
  • agg reduce करता है, transform नहीं
🔒

Chapter Quiz — Complete all 7 topics to unlock

0/7 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.