Pandas dataframe'de çeyreğe göre nasıl gruplandırılır (örnekle)


Bir pandas DataFrame’de satırları çeyreklere göre gruplamak için aşağıdaki temel sözdizimini kullanabilirsiniz:

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

#calculate sum of values, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' values ']. sum ()

Bu özel formül, tarih sütunundaki satırları çeyreklere göre gruplandırır ve DataFrame’deki değerler sütununun toplamını hesaplar.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandalar’da çeyreğe göre nasıl gruplandırılır

Diyelim ki bir şirketin farklı tarihlerde yaptığı satışları gösteren aşağıdaki panda DataFrame’imiz var:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start='1/1/2022', freq='M', periods= 12 ),
                   ' sales ': [6, 8, 10, 5, 4, 8, 8, 3, 5, 14, 8, 3]})

#view DataFrame
print (df)

         dirty date
0 2022-01-31 6
1 2022-02-28 8
2 2022-03-31 10
3 2022-04-30 5
4 2022-05-31 4
5 2022-06-30 8
6 2022-07-31 8
7 2022-08-31 3
8 2022-09-30 5
9 2022-10-31 14
10 2022-11-30 8
11 2022-12-31 3

İlgili: Pandalarda Tarih Aralığı Nasıl Oluşturulur

Çeyreğe göre gruplandırılmış satışların toplamını hesaplamak için aşağıdaki sözdizimi kullanılabilir:

 #convert date column to datetime and subtract one week
df[' date '] = pd. to_datetime (df[' date '])

#calculate sum of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. sum ()

date
2022Q1 24
2022Q2 17
2022Q3 16
2022Q4 25
Freq: Q-DEC, Name: sales, dtype: int64

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • İlk çeyrekte toplam 24 satış gerçekleşti.
  • İkinci çeyrekte toplam 17 satış gerçekleşti.
  • Üçüncü çeyrekte toplam 16 satış gerçekleşti.
  • Dördüncü çeyrekte toplam 25 satış gerçekleşti.

Çeyreğe göre gruplandırılmış başka bir metriği hesaplamak için benzer sözdizimini kullanabiliriz.

Örneğin, bunun yerine, çeyreğe göre gruplandırılmış maksimum satış değerini hesaplayabiliriz:

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

#calculate max of sales, grouped by quarter
df. groupby (df[' date ']. dt . to_period (' Q '))[' sales ']. max ()

date
2022Q1 10
2022Q2 8
2022Q3 8
2022Q4 14
Freq: Q-DEC, Name: sales, dtype: int64

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • İlk çeyrekte tek bir ayda en yüksek satışlar 10’du .
  • İkinci çeyrekte tek bir ayda en yüksek satışlar 8 oldu.
  • Üçüncü çeyrekte tek bir ayda en yüksek satışlar 8 oldu.
  • Dördüncü çeyrekte tek bir ayda en yüksek satışlar 14’tü .

Not : Pandalardaki groupby işleminin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandas DataFrame’de aya göre nasıl gruplandırılır
Pandas DataFrame’de haftaya göre nasıl gruplandırılır
Pandalar: Groupby nasıl kullanılır ve koşullu olarak nasıl sayılır?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir