كيفية تجميع البيانات حسب الوقت في الباندا (مع مثال)


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

 df. groupby ([df[' time ']. dt . hour ]). dirty . sum ()

يقوم هذا المثال تحديدًا بتجميع القيم حسب الساعة في عمود يسمى ” الساعة” ثم يقوم بحساب مجموع القيم الموجودة في عمود “المبيعات ” لكل ساعة.

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

مثال: تجميع البيانات حسب الوقت في Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' time ': ['2022-01-01 01:14:00', '2022-01-01 01:24:15',
                            '2022-01-01 02:52:19', '2022-01-01 02:54:00',
                            '2022-01-01 04:05:10', '2022-01-01 05:35:09'],
                   ' sales ': [18, 20, 15, 14, 10, 9]})

#convert date column to datetime
df[' time '] = pd. to_datetime (df[' time '])

#view DataFrame
print (df)

                 time sales
0 2022-01-01 01:14:00 18
1 2022-01-01 01:24:15 20
2 2022-01-01 02:52:19 15
3 2022-01-01 02:54:00 14
4 2022-01-01 04:05:10 10
5 2022-01-01 05:35:09 9

يمكننا استخدام الصيغة التالية لتجميع عمود الوقت حسب الساعات وحساب مجموع المبيعات لكل ساعة:

 #group by hours in time column and calculate sum of sales
df. groupby ([df[' time ']. dt . hour ]). dirty . sum ()

time
1 38
2 29
4 10
5 9
Name: sales, dtype: int64

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

  • تم إجراء ما مجموعه 38 عملية بيع في الساعة الأولى.
  • تم إجراء ما مجموعه 29 عملية بيع في الساعة الثانية.
  • تم إجراء ما مجموعه 10 عمليات بيع في الساعة الرابعة.
  • تم إجراء ما مجموعه 9 عمليات بيع خلال الساعة الخامسة.

لاحظ أنه يمكننا أيضًا إجراء تجميع آخر.

على سبيل المثال، يمكننا حساب متوسط عدد المبيعات في الساعة:

 #group by hours in time column and calculate mean of sales
df. groupby ([df[' time ']. dt . hour ]). dirty . mean ()

time
1 19.0
2 14.5
4 10.0
5 9.0
Name: sales, dtype: float64

يمكننا أيضًا التجميع حسب الساعات والدقائق إذا أردنا ذلك.

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

 #group by hours and minutes in time column and calculate mean of sales
df. groupby ([df[' time ']. dt . hour , df[' time ']. dt . minute ]). dirty . mean ()

time time
1 14 18
      24 20
2 52 15
      54 14
4 5 10
5 35 9
Name: sales, dtype: int64

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

  • متوسط عدد المبيعات خلال ساعة و 14 دقيقة كان 18 .
  • متوسط عدد المبيعات خلال ساعة و 23 دقيقة كان 20 .
  • متوسط عدد المبيعات خلال ساعتين و 52 دقيقة كان 15 .

وما إلى ذلك وهلم جرا.

مصادر إضافية

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

كيفية إنشاء نطاق زمني في الباندا
كيفية استخراج الشهر من التاريخ في الباندا
كيفية تحويل الطابع الزمني إلى التاريخ/الوقت في Pandas

Add a Comment

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