الباندا: كيفية استخدام groupby & sort داخل المجموعات


يمكنك استخدام بناء الجملة التالي لتجميع الصفوف في pandas DataFrame ثم فرز القيم داخل المجموعات:

 df. sort_values ([' var1 ',' var2 '],ascending= False ). groupby (' var1 '). head ()

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

مثال: استخدام GroupBy والفرز في المجموعات في Pandas

لنفترض أن لدينا DataFrame الباندا التالي الذي يعرض المبيعات التي تمت في متجرين مختلفين:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['B', 'B', 'A', 'A', 'B', 'B', 'A', 'A'],
                   ' sales ': [12, 25, 8, 14, 10, 20, 30, 30]})

#view DataFrame
print (df)

  blind sales
0 B 12
1 B 25
2 to 8
3 to 14
4 B 10
5 B 20
6 to 30
7 to 30

يمكننا استخدام بناء الجملة التالي لتجميع الصفوف حسب عمود المتجر وفرزها بترتيب تنازلي بناءً على عمود المبيعات :

 #group by store and sort by sales values in descending order
df. sort_values ([' store ', ' sales '],ascending= False ). groupby (' store '). head ()

	blind sales
1 B 25
5 B 20
0 B 12
4 B 10
6 to 30
7 to 30
3 to 14
2 to 8

لاحظ أنه يمكننا أيضًا إزالة الوسيطة ascending=False لفرز قيم المبيعات بترتيب تصاعدي:

 #group by store and sort by sales values in ascending order
df. sort_values ([' store ',' sales ']). groupby (' store '). head ()

	blind sales
2 to 8
3 to 14
6 to 30
7 to 30
4 B 10
0 B 12
5 B 20
1 B 25

لاحظ أن الدالة head() تعرض فقط القيم الخمس الأولى لكل مجموعة.

لعرض أعلى قيم n لكل مجموعة، ما عليك سوى استخدام head(n) بدلاً من ذلك.

ملاحظة : يمكنك العثور على الوثائق الكاملة لعملية GroupBy في الباندا هنا .

مصادر إضافية

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

الباندا: كيفية حساب المجموع التراكمي لكل مجموعة
الباندا: كيفية حساب القيم الفريدة حسب المجموعة
الباندا: كيفية حساب الارتباط حسب المجموعة

Add a Comment

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