الباندا: كيفية استخدام groupby() مع size()


يمكنك استخدام الطرق التالية مع الدالتين groupby() و size() في الباندا لحساب عدد التكرارات لكل مجموعة:

الطريقة الأولى: حساب التكرارات المجمعة حسب متغير

 df. groupby (' var1 '). size ()

الطريقة الثانية: حساب عدد التكرارات المجمعة حسب متغيرات متعددة

 df. groupby ([' var1 ', ' var2 ']). size ()

الطريقة الثالثة: حساب التكرارات مجمعة حسب متغيرات متعددة وفرزها حسب الرقم

 df. groupby ([' var1 ', ' var2 ']). size (). sort_values (ascending= False )

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع الباندا 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: حساب التكرارات المجمعة حسب متغير

يوضح الكود التالي كيفية استخدام الدالتين groupby() و size() لحساب تكرارات القيم في عمود الفريق :

 #count occurrences of each value in team column
df. groupby (' team '). size ()

team
AT 5
B5
dtype: int64

من النتيجة يمكننا أن نرى أن القيمتين A وB تظهران 5 مرات في عمود الفريق .

المثال 2: عد التكرارات مجمعة حسب متغيرات متعددة

يوضح الكود التالي كيفية استخدام الدالتين groupby() و size() لحساب تكرارات القيم لكل مجموعة من القيم في أعمدة الفريق والموضع :

 #count occurrences of values for each combination of team and position
df. groupby ([' team ', ' position ']). size ()

team position
AF3
      G2
BF 1
      G4
dtype: int64

ومن النتيجة يمكننا أن نرى:

  • يظهر الفريق A والمركز F 3 مرات.
  • يظهر الفريق A والمركز G مرتين .

وما إلى ذلك وهلم جرا.

المثال 3: عد التكرارات مجمعة حسب عدة متغيرات ثم قم بالفرز

يوضح التعليمة البرمجية التالية كيفية استخدام الدالتين groupby() و size() لحساب تكرارات القيم لكل مجموعة من القيم في أعمدة الفريق والموضع ، ثم الفرز حسب العدد:

 #count occurrences for each combination of team and position and sort
df. groupby ([' team ', ' position ']). size (). sort_values (ascending= False )

team position
BG 4
AF3
      G2
BF 1
dtype: int64

يعرض الإخراج عدد كل مجموعة من قيم الفريق والمنصب ، مرتبة حسب العدد بترتيب تنازلي.

ملاحظة : للفرز حسب الرقم بترتيب تصاعدي، ما عليك سوى إزالة ascending=False في وظيفة sort_values() .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في الباندا:

كيفية حساب القيم الفريدة باستخدام Pandas GroupBy
كيفية تطبيق وظيفة على Pandas Groupby
كيفية إنشاء قطعة أرض شريطية من Pandas GroupBy

Add a Comment

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