วิธีจัดกลุ่มตามไตรมาสใน 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 และนับแบบมีเงื่อนไข

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *