الباندا: كيفية استخدام aggfunc في وظيفة الجدول الترافقي ().
يمكنك استخدام الوسيطة aggfunc في وظيفة pandas crosstab() لإنشاء جدول ترافقي يجمع القيم باستخدام مقياس محدد:
p.d. crosstab (index=df. col1 , columns=df. col2 , values=df. col3 , aggfunc=' count ')
القيمة الافتراضية لـ aggfunc هي “count”، ولكن يمكنك تحديد طرق تجميع أخرى مثل المتوسط، والوسيط، والمجموع، والحد الأدنى، والحد الأقصى، وما إلى ذلك.
يمكنك أيضًا تحديد طرق تجميع متعددة في الوسيطة aggfunc :
p.d. crosstab (index=df. col1 , columns=df. col2 , values=df. col3 , aggfunc=[' min ', ' max '])
توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا مع وحدات الباندا DataFrame التالية:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #view DataFrame print (df) team position points 0 AG 22 1 AG 25 2 AF 24 3 BG 39 4 BF 34 5 BF 20 6 BF 18 7 GC 17 8 GC 20 9 CF 19 10 CF 22
المثال 1: إنشاء جدول ترافقي بقيمة في aggfunc
يمكننا استخدام الدالة الجدولية () التالية مع الوسيطة aggfunc=’mean’ لإنشاء جدول ترافقي يعرض متوسط نقاط القيمة لكل منصب ومجموعة فريق:
#create crosstab that displays mean points value by team and position p.d. crosstab (index=df. team , columns=df. position , values=df. points , aggfunc=' mean ') position F G team A 24.0 23.5 B 24.0 39.0 C 20.5 18.5
وإليك كيفية تفسير النتيجة:
- متوسط نقاط لاعبي فريق A في المركز F هو 24 .
- متوسط نقاط لاعبي الفريق A في المركز G هو 23.5 .
وما إلى ذلك وهلم جرا.
يمكننا أيضًا استخدام مقياس تجميع آخر، مثل القيمة القصوى:
#create crosstab that displays max points value by team and position p.d. crosstab (index=df. team , columns=df. position , values=df. points , aggfunc=' max ') position F G team At 24 25 B 34 39 C 22 20
وإليك كيفية تفسير النتيجة:
- الحد الأقصى للنقاط للاعبي الفريق A في المركز F هو 24 .
- الحد الأقصى للنقاط للاعبين في الفريق A في المركز G هو 25 .
وما إلى ذلك وهلم جرا.
المثال 2: إنشاء جدول ترافقي بقيم متعددة في aggfunc
يمكننا استخدام وظيفة crosstab() مع قيم متعددة في وسيطة aggfunc لتجميع قيم النقاط بواسطة مقاييس متعددة لكل منصب ومجموعة فريق:
#create crosstab that displays min and max points by team and position p.d. crosstab (df. team , df. position , df. points , aggfunc=[' min ', ' max ']) min max position F G F G team A 24 22 24 25 B 18 39 34 39 C 19 17 22 20
وإليك كيفية تفسير النتيجة:
- الحد الأدنى لقيمة النقاط للاعبي الفريق A في المركز F هو 24 .
- الحد الأدنى لقيمة النقاط للاعبي الفريق A في المركز G هو 22 .
- الحد الأقصى لقيمة النقاط للاعبي الفريق A في المركز F هو 24 .
- الحد الأقصى لقيمة النقاط للاعبي الفريق A في المركز G هو 25 .
وما إلى ذلك وهلم جرا.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة pandas crosstab() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ مهام الباندا الشائعة الأخرى:
الباندا: كيفية إنشاء جدول ترافقي مع النسب المئوية
الباندا: كيفية استخدام GroupBy وأعداد القيمة
الباندا: كيفية استخدام GroupBy مع عدد الصناديق