الباندا: صيغة بسيطة لـ "التجميع حسب الأصول"


يمكنك استخدام بناء الجملة الأساسي التالي لتنفيذ ما يعادل عبارة SQL “GROUP BY HAVING” في الباندا:

 df. groupby (' some_column '). filter ( lambda x: some condition)

توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا مع الباندا DataFrame التالية:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   ' position ': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team position points
0 AG 30
1 AF 22
2 FY 19
3 BG 14
4 BF 14
5 BF 11
6 GC 20
7 GC 28

مثال 1: مجموعة من حيوانات الباندا تحتوي على Count

يوضح التعليمة البرمجية التالية كيفية تجميع الصفوف بناءً على القيمة الموجودة في عمود الفريق ثم تصفية الفرق التي يزيد عددها عن 2 فقط:

 #group by team and filter for teams with count > 2
df. groupby (' team '). filter ( lambda x: len (x) > 2 )


        team position points
0 A G 30
1 A F 22
2 A F 19
3 B G 14
4 B F 14
5 B F 11

لاحظ أنه يتم إرجاع الصفوف التي تحتوي على قيمة فريق “A” أو “B” فقط نظرًا لأن كلا الفريقين يزيد عددهما عن 2.

مثال 2: مجموعة من حيوانات الباندا ذات متوسط

يوضح التعليمة البرمجية التالية كيفية تجميع الصفوف بناءً على القيمة الموجودة في عمود الفريق ، ثم تصفية الفرق التي يكون متوسط قيمة نقاطها أكبر من 20 فقط:

 #group by team and filter for teams with mean points > 20
df. groupby (' team '). filter ( lambda x: x[' points ']. mean () > 20 )

        team position points
0 A G 30
1 A F 22
2 A F 19
6 C G 20
7 C G 28

لاحظ أنه يتم إرجاع الصفوف التي تحتوي على قيمة فريق “A” أو “C” فقط نظرًا لأن هذين الفريقين لهما متوسط قيمة نقطة أكبر من 20.

مثال 3: مجموعة من الباندا لها مجموع

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

 #group by team and filter for teams with sum of points equal to 48
df. groupby (' team '). filter ( lambda x: x[' points ']. sum () == 48 )

        team position points
6 C G 20
7 C G 28

لاحظ أنه يتم إرجاع الصفوف ذات قيمة الفريق “C” فقط نظرًا لأن هذا هو الفريق الوحيد الذي لديه مجموع نقاط يساوي 48.

مصادر إضافية

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

الباندا: احصل على فهرس الصفوف التي يتطابق عمودها مع القيمة
الباندا: كيفية اختيار الأعمدة التي تحتوي على سلسلة محددة
الباندا: كيفية التحقق مما إذا كان العمود يحتوي على سلسلة

Add a Comment

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