transform के साथ groupby
transform original के बराबर size का result return करता है, जो group statistics को नए columns की तरह जोड़ने के लिए आदर्श है।
In this page:
Syntax
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
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. #}
आम गलतियां
- agg का उपयोग करके फिर हाथ से merge back करने की कोशिश करना
- function से अलग length return करना
- 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: