الباندا: كيفية تجميع عمودين وتجميعهما


يمكنك استخدام بناء الجملة الأساسي التالي مع وظيفة 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *