كيفية التجميع حسب السنة في pandas dataframe (مع مثال)
يمكنك استخدام بناء الجملة الأساسي التالي لتجميع الصفوف حسب السنة في pandas DataFrame:
df. groupby (df. your_date_column . dt . year )[' values_column ']. sum ()
تقوم هذه الصيغة المحددة بتجميع الصفوف حسب التاريخ في your_date_column وتحسب مجموع القيم الخاصة بـ values_column في DataFrame.
لاحظ أن الدالة dt.year() تستخرج السنة من عمود التاريخ في الباندا.
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: كيفية التجميع حسب السنة في الباندا
لنفترض أن لدينا DataFrame الباندا التالي الذي يوضح المبيعات التي أجرتها الشركة في تواريخ مختلفة:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' date ': pd.date_range (start=' 1/1/2020 ', freq=' 3m ', periods= 10 ),
' sales ': [6, 8, 9, 11, 13, 8, 8, 15, 22, 9],
' returns ': [0, 3, 2, 2, 1, 3, 2, 4, 1, 5]})
#view DataFrame
print (df)
date sales returns
0 2020-01-31 6 0
1 2020-04-30 8 3
2 2020-07-31 9 2
3 2020-10-31 11 2
4 2021-01-31 13 1
5 2021-04-30 8 3
6 2021-07-31 8 2
7 2021-10-31 15 4
8 2022-01-31 22 1
9 2022-04-30 9 5
ذات صلة: كيفية إنشاء نطاق زمني في الباندا
يمكن استخدام الصيغة التالية لحساب مجموع المبيعات المجمعة حسب السنة:
#calculate sum of sales grouped by year
df. groupby (df. date . dt . year )[' sales ']. sum ()
date
2020 34
2021 44
2022 31
Name: sales, dtype: int64
وإليك كيفية تفسير النتيجة:
- بلغ إجمالي المبيعات التي تمت في عام 2020 34 .
- وبلغ إجمالي المبيعات التي تمت في عام 2021 44 .
- وبلغ إجمالي المبيعات التي تمت في عام 2022 31 .
يمكننا استخدام صيغة مشابهة لحساب الحد الأقصى لقيم المبيعات مجمعة حسب السنة:
#calculate max of sales grouped by year
df. groupby (df. date . dt . year )[' sales ']. max ()
date
2020 11
2021 15
2022 22
Name: sales, dtype: int64
يمكننا استخدام صيغة مشابهة لحساب أي قيمة نرغب في تجميعها حسب قيمة السنة لعمود التاريخ.
ملاحظة : يمكنك العثور على الوثائق الكاملة لعملية GroupBy في الباندا هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
الباندا: كيفية حساب المجموع التراكمي لكل مجموعة
الباندا: كيفية حساب القيم الفريدة حسب المجموعة
الباندا: كيفية حساب الارتباط حسب المجموعة