الباندا: كيفية تجميع عمودين وتجميعهما
يمكنك استخدام بناء الجملة الأساسي التالي مع وظيفة groupby() في الباندا للتجميع حسب عمودين وتجميع عمود آخر:
df. groupby ([' var1 ',' var2 '])[' var3 ']. mean ()
يقوم هذا المثال تحديدًا بتجميع DataFrame حسب العمودين var1 و var2 ، ثم يحسب متوسط العمود var3 .
توضح الأمثلة التالية كيفية التجميع على عمودين والتجميع باستخدام الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'], ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]}) #view DataFrame print (df) team position points 0 AG 15 1 AG 22 2 AF 24 3 AF 25 4 AF 20 5 BG 35 6 BG 34 7 BG 19 8 BG 14 9 BF 12
مثال 1: قم بتجميع عمودين وحساب متوسط عمود آخر
يمكننا استخدام الصيغة التالية لحساب متوسط قيمة عمود النقاط ، مجمعة حسب أعمدة الفريق والمنصب :
#calculate mean of points grouped by team and position columns
df. groupby ([' team ', ' position '])[' points ']. mean ()
team position
AF23.0
G 18.5
BF 12.0
G 25.5
Name: points, dtype: float64
ومن النتيجة يمكننا أن نرى:
- متوسط قيمة النقاط للاعبين من الفريق A في المركز F هو 23 .
- متوسط قيمة النقاط للاعبي الفريق A في المركز G هو 18.5 .
وما إلى ذلك وهلم جرا.
مثال 2: قم بتجميع عمودين وحساب الحد الأقصى لعمود آخر
يمكننا استخدام الصيغة التالية لحساب القيمة القصوى لعمود النقاط ، مجمعة حسب أعمدة الفريق والمنصب :
#calculate max of points grouped by team and position columns
df. groupby ([' team ', ' position '])[' points ']. max ()
team position
AF25
G22
BF 12
G 35
Name: points, dtype: int64
ومن النتيجة يمكننا أن نرى:
- الحد الأقصى لقيمة النقاط للاعبين في الفريق A في المركز F هو 25 .
- الحد الأقصى لقيمة النقاط للاعبي الفريق A في المركز G هو 22 .
وما إلى ذلك وهلم جرا.
مثال 3: التجميع حسب عمودين وإحصاء التكرارات
يمكننا استخدام الصيغة التالية لحساب تكرارات كل مجموعة من أعمدة الفريق والموضع :
#count occurrences of each combination of team and position columns
df. groupby ([' team ', ' position ']). size ()
team position
AF3
G2
BF 1
G4
dtype: int64
ومن النتيجة يمكننا أن نرى:
- يوجد 3 لاعبين في الفريق A في المركز F.
- يوجد لاعبان في الفريق A في المركز G.
وما إلى ذلك وهلم جرا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:
كيفية حساب القيم الفريدة باستخدام Pandas GroupBy
كيفية تطبيق وظيفة على Pandas Groupby
كيفية إنشاء قطعة أرض شريطية من Pandas GroupBy