كيفية حساب مشاهدات المجموعة في الباندا
في كثير من الأحيان قد تكون مهتمًا بحساب عدد الملاحظات لكل مجموعة في DataFrame الباندا.
لحسن الحظ، من السهل القيام بذلك باستخدام الدالتين groupby() و size() بالصيغة التالية:
df. groupby (' column_name '). size ()
يشرح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة باستخدام إطار البيانات التالي:
import numpy as np import pandas as pd #create pandas DataFrame df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'], 'division':['E', 'W', 'E', 'E', 'W', 'W', 'E'], 'rebounds': [11, 8, 7, 6, 6, 5, 12]}) #display DataFrame print (df) team division rebounds 0 AE 11 1 AW 8 2 BE 7 3 BE 6 4 BW 6 5 CW 5 6 CE 12
مثال 1: العد بواسطة متغير
يوضح الكود التالي كيفية حساب العدد الإجمالي للملاحظات لكل فريق:
#count total observations by variable 'team' df. groupby (' team '). size () team At 2 B 3 C 2 dtype: int64
ومن النتيجة يمكننا أن نرى أن:
- لدى الفريق “أ” ملاحظتان
- لدى الفريق ب 3 ملاحظات
- لدى الفريق C ملاحظتان
لاحظ أن التعليمة البرمجية السابقة تنتج سلسلة. في معظم الحالات، نرغب في العمل مع DataFrame، حتى نتمكن من استخدام الدالة set_index() لإنتاج DataFrame بدلاً من ذلك:
df. groupby (' team '). size (). reset_index (name=' obs ') team obs 0 to 2 1 B 3 2 C 2
مثال 2: العد والفرز حسب المتغير
يمكننا أيضًا استخدام الدالة sort_values() لفرز عدد المجموعات.
يمكننا تحديد ascending=False لفرز عدد المجموعات من الأكبر إلى الأصغر أو asتصاعدي=True للفرز من الأصغر إلى الأكبر:
df. groupby (' team '). size (). reset_index (name=' obs '). sort_values ([' obs '], ascending= True ) team obs 0 to 2 2 C 2 1 B 3
مثال 3: العد بعدة متغيرات
يمكننا أيضًا حساب عدد الملاحظات المجمعة حسب عدة متغيرات في إطار بيانات الباندا:
#count observations grouped by team and division df. groupby ([' team ',' division ']). size (). reset_index (name=' obs ') team division obs 0 A E 1 1 A W 1 2 B E 2 3 B W 1 4 C E 1 5 C W 1
ومن النتيجة يمكننا أن نرى أن:
- ملاحظة واحدة تنتمي إلى الفريق A والقسم E
- ملاحظة واحدة تنتمي إلى الفريق A والقسم W
- ملاحظتان تخص الفريق B والقسم E
- ملاحظة واحدة تنتمي إلى الفريق B والقسم W
- ملاحظة واحدة تنتمي إلى الفريق C والقسم E
- ملاحظة واحدة تخص الفريق C والقسم W
مصادر إضافية
كيفية حساب مجموع الأعمدة في الباندا
كيفية حساب متوسط الأعمدة في الباندا
كيفية العثور على الحد الأقصى لقيمة الأعمدة في الباندا