0Pricing
Learn AI with Python · درس

الجداول المحورية والجدولة المتقاطعة

استخدام pd.pivot_table() وpd.crosstab() وإعادة تشكيل البيانات للإحصاءات التلخيصية.

الجداول المحورية والجدولة المتقاطعة درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.

إعادة التشكيل لاستخلاص الرؤى

يعيد الجدول المحوري تشكيل البيانات الطويلة في هيئة شبكة، ويلخّص قيمة واحدة عبر محورين تصنيفيين. وهو الجدول المحوري المعروف في جداول البيانات، لكن بطريقة قابلة للبرمجة.

import pandas as pd
df = pd.DataFrame({
    "region": ["E", "E", "W", "W", "E"],
    "product": ["A", "B", "A", "B", "A"],
    "sales": [10, 20, 30, 40, 50],
})

pivot_table الأساسي

تأخذ pd.pivot_table الوسيط values (الأرقام المراد تلخيصها)، وindex (الصفوف)، وcolumns (الأعمدة). وتحتسب افتراضيًا متوسط الخلايا المكررة.

pt = pd.pivot_table(df, values="sales", index="region", columns="product")
print(pt)
# product     A     B
# region
# E        30.0  20.0
# W        30.0  40.0

اختيار aggfunc

اضبطوا aggfunc للتحكم في طريقة دمج القيم المكررة: المجموع، والمتوسط، والعدد، وغير ذلك. استخدموا قائمة لحساب عدة عمليات دفعة واحدة.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum")
print(pt)

دوال aggfunc متعددة

مرّروا قائمة من الدوال لحساب عدة ملخصات جنبًا إلى جنب.

pt = pd.pivot_table(df, values="sales", index="region",
                    aggfunc=["sum", "mean", "count"])
print(pt)

ملء الخلايا المفقودة

تتحول التركيبات التي لا تحتوي على بيانات إلى NaN. ويستبدلها fill_value، غالبًا بالقيمة 0، لإنتاج تقارير مرتبة.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum", fill_value=0)
print(pt)

الهوامش (الإجماليات)

اضبطوا margins=True لإضافة الإجماليات الكلية للصفوف والأعمدة، والتي تحمل الاسم "All" افتراضيًا.

pt = pd.pivot_table(df, values="sales", index="region",
                    columns="product", aggfunc="sum",
                    fill_value=0, margins=True)
print(pt)

مستويات فهرس متعددة

مرّروا قوائم إلى index أو columns لإنشاء تقسيمات هرمية، مثل المنطقة ثم المنتج.

df["channel"] = ["on", "off", "on", "off", "on"]
pt = pd.pivot_table(df, values="sales",
                    index=["region", "channel"], aggfunc="sum")
print(pt)

الجدولة التقاطعية باستخدام crosstab

إن pd.crosstab جدول محوري متخصص يحسب تكرار تركيبات فئتين تصنيفيتين، ولا يحتاج إلى عمود قيم.

ct = pd.crosstab(df["region"], df["product"])
print(ct)
# product   A  B
# region
# E         2  1
# W         1  1

تطبيع crosstab

يحوّل الوسيط normalize الأعداد إلى نسب: "index" لكل صف، و"columns" لكل عمود، أو True بالنسبة إلى الإجمالي الكلي.

ct = pd.crosstab(df["region"], df["product"], normalize="index")
print(ct)   # each row sums to 1.0

crosstab مع القيم

قدّموا values وaggfunc لجعل crosstab يلخّص مقياسًا بدلًا من العد، مما يقرّب وظيفته من pivot_table.

ct = pd.crosstab(df["region"], df["product"],
                 values=df["sales"], aggfunc="sum")
print(ct)

pivot_table مقارنةً بـ crosstab

استخدموا pivot_table عند تلخيص قيمة عددية، واستخدموا crosstab عند عدّ تكرارات تركيبات الفئات. كما يتيح crosstab التطبيع إلى نسب في سطر واحد.

اختبار سريع

اختبروا معرفتكم بإعادة التشكيل.

مراجعة

أدوات إعادة التشكيل:

  • تلخّص pd.pivot_table(values, index, columns, aggfunc) مقياسًا
  • استخدموا fill_value للخلايا الفارغة، وmargins=True للإجماليات
  • استخدموا قوائم للفهرس والأعمدة لإنشاء التسلسل الهرمي
  • يحسب pd.crosstab التركيبات، بينما ينتج normalize النسب

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

هل درس «الجداول المحورية والجدولة المتقاطعة» مجاني؟

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

ماذا ستتعلم في «الجداول المحورية والجدولة المتقاطعة»؟

استخدام pd.pivot_table() وpd.crosstab() وإعادة تشكيل البيانات للإحصاءات التلخيصية. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟

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

كم من الوقت يستغرق درس «الجداول المحورية والجدولة المتقاطعة»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟

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

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

  1. GroupBy والتجميع
  2. الجداول المحورية والجدولة المتقاطعة
  3. الدمج والضم المتقدمان
  4. السلاسل الزمنية في Pandas
← العودة إلى Learn AI with Python