Cara mengelompokkan berdasarkan kuartal di pandas dataframe (dengan contoh)
Anda dapat menggunakan sintaks dasar berikut untuk mengelompokkan baris per kuartal di pandas DataFrame:
#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 ()
Rumus khusus ini mengelompokkan baris per kuartal di kolom tanggal dan menghitung jumlah kolom nilai di DataFrame.
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh: Cara mengelompokkan berdasarkan kuartal di Pandas
Katakanlah kita memiliki panda DataFrame berikut yang menunjukkan penjualan yang dilakukan oleh suatu perusahaan pada tanggal berbeda:
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
Terkait: Cara Membuat Rentang Tanggal di Pandas
Sintaks berikut dapat digunakan untuk menghitung jumlah penjualan yang dikelompokkan berdasarkan kuartal:
#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
Berikut cara menafsirkan hasilnya:
- Sebanyak 24 penjualan dilakukan selama kuartal pertama.
- Sebanyak 17 penjualan dilakukan selama kuartal kedua.
- Sebanyak 16 penjualan dilakukan selama kuartal ketiga.
- Sebanyak 25 penjualan dilakukan selama kuartal keempat.
Kita dapat menggunakan sintaks serupa untuk menghitung metrik lain, yang dikelompokkan berdasarkan kuartal.
Misalnya, kita dapat menghitung nilai penjualan maksimum, yang dikelompokkan berdasarkan kuartal:
#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
Berikut cara menafsirkan hasilnya:
- Penjualan puncak dalam satu bulan selama kuartal pertama adalah 10 .
- Penjualan puncak dalam satu bulan selama kuartal kedua adalah 8 .
- Penjualan puncak dalam satu bulan selama kuartal ketiga adalah 8 .
- Penjualan puncak dalam satu bulan selama kuartal keempat adalah 14 .
Catatan : Anda dapat menemukan dokumentasi lengkap operasi groupby di pandas di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:
Cara mengelompokkan berdasarkan bulan di Pandas DataFrame
Cara mengelompokkan berdasarkan minggu di Pandas DataFrame
Pandas: Cara menggunakan Groupby dan menghitung secara kondisional