الباندا: كيفية التجميع حسب الفهرس وإجراء عملية حسابية
يمكنك استخدام الطرق التالية للتجميع حسب عمود فهرس واحد أو أكثر في الباندا وإجراء العمليات الحسابية:
الطريقة الأولى: التجميع حسب عمود الفهرس
df. groupby (' index1 ')[' numeric_column ']. max ()
الطريقة الثانية: التجميع حسب أعمدة الفهرس المتعددة
df. groupby ([' index1 ',' index2 '])[' numeric_column ']. sum ()
الطريقة الثالثة: التجميع حسب عمود الفهرس والعمود العادي
df. groupby ([' index1 ',' numeric_column1 '])[' numeric_column2 ']. nunique ()
توضح الأمثلة التالية كيفية استخدام كل أسلوب مع الباندا التالية DataFrame التي تحتوي على MultiIndex:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
' position ': ['G', 'G', 'G', 'F', 'F', 'G', 'G', 'F', 'F', 'F'],
' points ': [7, 7, 7, 19, 16, 9, 10, 10, 8, 8],
' rebounds ': [8, 8, 8, 10, 11, 12, 13, 13, 15, 11]})
#set 'team' column to be index column
df. set_index ([' team ', ' position '], inplace= True )
#view DataFrame
df
rebound points
team position
A G 7 8
G 7 8
G 7 8
F 19 10
F 16 11
B G 9 12
G 10 13
F 10 13
F 8 15
F 8 11
الطريقة الأولى: التجميع حسب عمود الفهرس
يوضح الكود التالي كيفية العثور على القيمة القصوى لعمود “النقاط”، مجمعة حسب عمود فهرس “الموضع”:
#find max value of 'points' grouped by 'position index column
df. groupby (' position ')[' points ']. max ()
position
F 19
G 10
Name: points, dtype: int64
الطريقة الثانية: التجميع حسب أعمدة الفهرس المتعددة
يوضح التعليمة البرمجية التالية كيفية العثور على مجموع عمود “النقاط”، مجمعة حسب أعمدة فهرس “الفريق” و”الموضع”:
#find max value of 'points' grouped by 'position index column
df. groupby ([' team ', ' position '])[' points ']. sum ()
team position
AF35
G21
BF 26
G 19
Name: points, dtype: int64
الطريقة الثالثة: التجميع حسب عمود الفهرس والعمود العادي
يوضح الكود التالي كيفية العثور على عدد القيم الفريدة في عمود “المرتدات”، مجمعة حسب عمود فهرس “الفريق” وعمود “النقاط” العادي:
#find max value of 'points' grouped by 'position index column
df. groupby ([' team ', ' points '])[' rebounds ']. nunique ()
team points
At 7 1
16 1
19 1
B 8 2
9 1
10 1
Name: rebounds, dtype: int64
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية حساب القيم الفريدة في الباندا
كيفية تسطيح MultiIndex في الباندا
كيفية تعديل قيمة فهرس واحدة أو أكثر في Pandas
كيفية إعادة تعيين فهرس في الباندا