0Pricing
Data Science Academy · درس

استخدام transform لإنشاء ميزات حسب المجموعة

إعادة إسناد إحصاءات المجموعات إلى الصفوف

استخدام transform لإنشاء ميزات حسب المجموعة درس مجاني في Data Science Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Data Science Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Data Science Academy 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

agg Shrinks, transform Keeps

Where agg returns one row per group, transform returns a value for every original row, same length as the input.

Why That Matters

Because transform keeps the original shape, you can drop its result straight back into your DataFrame as a new column.

df["city_avg"] = df.groupby("city")["sales"].transform("mean")

Broadcast a Group Stat

Each row receives its own group statistic, so every Paris row gets the Paris average, neatly aligned.

Build a Group-Relative Feature

Subtract the group mean to see how far each row sits from its group average, a powerful model feature.

df["diff"] = df["sales"] - df.groupby("city")["sales"].transform("mean")

Normalize Within Groups

Divide by a group total to turn raw counts into a within-group share that compares fairly across groups.

df["share"] = df["sales"] / df.groupby("city")["sales"].transform("sum")

Fill Missing With Group Means

A clean imputation trick: replace gaps using each row group mean instead of one global number. 🧩

df["sales"] = df.groupby("city")["sales"].transform(lambda s: s.fillna(s.mean()))

Use Strings or Functions

Like agg, transform accepts a function name such as "mean" or your own callable returning a like-shaped result.

g.transform("sum")

It Preserves the Row Index

The output keeps the original index, which is why assigning it back as a column lines up perfectly.

Rank Within Each Group

Combine transform with rank to score each row against its group, great for top-N-per-group logic.

df["rk"] = df.groupby("city")["sales"].rank(ascending=False)

transform vs apply

Choose transform when output must match input length; reach for apply only when you need full flexibility.

A Common Pitfall

Your function must return a result the same length as the group, or transform raises an error instead of guessing.

Quick Check

What makes transform different from agg?

Recap: Features That Fit Right Back

You can now compute group-wise features that keep the original shape, perfect for normalizing, imputing, and ranking. 🚀

الأسئلة الشائعة

هل درس «استخدام transform لإنشاء ميزات حسب المجموعة» مجاني؟

نعم — نص درس «استخدام transform لإنشاء ميزات حسب المجموعة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Data Science Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Data Science Academy 4 دروس في المجموع.

ماذا ستتعلم في «استخدام transform لإنشاء ميزات حسب المجموعة»؟

إعادة إسناد إحصاءات المجموعات إلى الصفوف تتمرن على Data Science Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Data Science Academy؟

لا تُشترط خبرة سابقة. Data Science Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «استخدام transform لإنشاء ميزات حسب المجموعة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Data Science Academy هذا؟

نعم. كل درس في Data Science Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. شرح Split-Apply-Combine
  2. تجميعات متعددة باستخدام agg
  3. التجميع حسب عدة مفاتيح
  4. استخدام transform لإنشاء ميزات حسب المجموعة
← العودة إلى Data Science Academy