วิธีจัดกลุ่มตามไตรมาสใน pandas dataframe (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อจัดกลุ่มแถวตามไตรมาสใน 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 ()
สูตรเฉพาะนี้จัดกลุ่มแถวตามไตรมาสในคอลัมน์ วันที่ และคำนวณผลรวมของคอลัมน์ ของค่า ใน DataFrame
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีจัดกลุ่มตามไตรมาสใน Pandas
สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ซึ่งแสดงยอดขายของบริษัทในวันที่ต่างกัน:
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
ที่เกี่ยวข้อง: วิธีสร้างช่วงวันที่ในนุ่น
คุณสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อคำนวณผลรวมของยอดขายที่จัดกลุ่มตามไตรมาส:
#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
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- มียอดขายรวม 24 รายการ ในช่วงไตรมาสแรก
- มียอดขายรวม 17 รายการในช่วงไตรมาสที่สอง
- มียอดขายรวม 16 รายการในช่วงไตรมาสที่สาม
- มียอดขายรวม 25 รายการในช่วงไตรมาสที่สี่
เราสามารถใช้ไวยากรณ์ที่คล้ายกันในการคำนวณเมตริกอื่น โดยจัดกลุ่มตามไตรมาส
ตัวอย่างเช่น เราอาจคำนวณมูลค่ายอดขายสูงสุดโดยจัดกลุ่มตามไตรมาสแทน:
#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
ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:
- ยอดขายสูงสุดในแต่ละเดือนในช่วงไตรมาสแรกคือ 10
- ยอดขายสูงสุดในแต่ละเดือนระหว่างไตรมาสที่สองอยู่ที่ 8
- ยอดขายสูงสุดในแต่ละเดือนระหว่างไตรมาสที่สามอยู่ที่ 8
- ยอดขายสูงสุดในแต่ละเดือนในช่วงไตรมาสที่สี่อยู่ที่ 14
หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มของการดำเนินการ groupby ใน pandas ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีจัดกลุ่มตามเดือนใน Pandas DataFrame
วิธีจัดกลุ่มตามสัปดาห์ใน Pandas DataFrame
Pandas: วิธีใช้ Groupby และนับแบบมีเงื่อนไข