كيفية العثور على الحد الأقصى للقيمة لكل مجموعة في الباندا


في كثير من الأحيان قد ترغب في العثور على الحد الأقصى للقيمة لكل مجموعة في pandas DataFrame.

لحسن الحظ، من السهل القيام بذلك باستخدام الدالتين groupby() و max() بالصيغة التالية:

 df. groupby (' column_name '). max ()

يشرح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة باستخدام الباندا DataFrame التالية:

 import pandas as pd

#create pandas DataFrame
df = pd. DataFrame ({'team': ['A', 'A', 'B', 'B', 'B', 'C', 'C'],
                   'points':[24, 23, 27, 11, 14, 8, 13],
                   'rebounds': [11, 8, 7, 6, 6, 5, 12]})

#display DataFrame
print (df)

  team points rebounds
0 to 24 11
1 to 23 8
2 B 27 7
3 B 11 6
4 B 14 6
5 C 8 5
6 C 13 12

مثال 1: الحد الأقصى لقيمة عدة أعمدة مجمعة حسب متغير

يوضح التعليمة البرمجية التالية كيفية العثور على الحد الأقصى لقيمة أعمدة متعددة، مجمعة حسب متغير في DataFrame:

 #find max values of points and rebounds, grouped by team
df. groupby (' team '). max (). reset_index ()


        team points rebounds
0 to 24 11
1 B 27 7
2 C 13 12

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

  • الفريق A لديه الحد الأقصى لقيمة النقاط 24 والحد الأقصى لقيمة المرتدات 11.
  • الفريق B لديه الحد الأقصى لقيمة النقاط 27 والحد الأقصى لقيمة المرتدات 7.
  • الفريق C لديه الحد الأقصى لقيمة النقاط 13 والحد الأقصى لقيمة الكرات المرتدة 12.

لاحظ أننا استخدمنا وظيفة set_index() للتأكد من تطابق الفهرس مع فهرس DataFrame الأصلي.

مثال 2: الحد الأقصى لقيمة عمود واحد مجمع حسب متغير

يوضح التعليمة البرمجية التالية كيفية العثور على الحد الأقصى لقيمة عمود واحد، مجمعة في متغير واحد:

 #find max value of points, grouped by team
df. groupby (' team ')[' points ']. max (). reset_index ()

        team points
0 to 24
1 B 27
2 C 13

مثال 3: الترتيب حسب القيم القصوى

يمكننا أيضًا استخدام الدالة sort_values() ‎ لفرز القيم القصوى.

يمكننا تحديد ascending=False للفرز من الأكبر إلى الأصغر:

 #find max value by team, sort descending
df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= False )


        team points
1 B 27
0 to 24
2 C 13

أو يمكننا تحديد ascending=True للفرز من الأصغر إلى الأكبر:

 #find max value by team, sort ascending 
df. groupby (' team ')[' points ']. max (). reset_index (). sort_values ([' points '], ascending= True ) 

        team points
2 C 13
0 to 24
1 B 27

مصادر إضافية

كيفية حساب مجموع الأعمدة في الباندا
كيفية حساب متوسط الأعمدة في الباندا
كيفية العثور على الحد الأقصى لقيمة الأعمدة في الباندا

Add a Comment

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