Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Pandas - สร้าง PeriodIndex และดึงจำนวนวันในเดือน

หากต้องการสร้าง PeriodIndex และดึงจำนวนวันในแต่ละเดือน สามารถใช้ pandas.PeriodIndex() สร้างออบเจ็กต์ แล้วใช้คุณสมบัติ PeriodIndex.daysinmonth

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import pandas as pd

2. สร้างออบเจ็กต์ PeriodIndex ด้วยความถี่เป็นวัน

periodIndex = pd.PeriodIndex(
    ['2018-07-25', '2019-10-30', '2020-11-20', 
     '2021-09-15', '2022-03-12', '2023-06-18'], 
    freq="D"
)

3. แสดง PeriodIndex

print("PeriodIndex...\n", periodIndex)

4. ดึงจำนวนวันในเดือนของแต่ละช่วงเวลา

print("\nจำนวนวันในเดือนจาก PeriodIndex...\n", periodIndex.daysinmonth)

ตัวอย่างโค้ดสมบูรณ์

import pandas as pd

# สร้าง PeriodIndex object
# PeriodIndex เป็น immutable ndarray ที่เก็บค่าลำดับบ่งชี้ช่วงเวลาสม่ำเสมอ
# เราตั้งความถี่ด้วยพารามิเตอร์ "freq"
periodIndex = pd.PeriodIndex(
    ['2018-07-25', '2019-10-30', '2020-11-20', 
     '2021-09-15', '2022-03-12', '2023-06-18'], 
    freq="D"
)

# แสดง PeriodIndex object
print("PeriodIndex...\n", periodIndex)

# แสดง PeriodIndex frequency
print("\nPeriodIndex frequency...\n", periodIndex.freq)

# แสดงหมายเลขเดือน (1=ม.ค., 2=ก.พ. ... 12=ธ.ค.)
print("\nMonth number...\n", periodIndex.month)

# แสดงจำนวนวันในเดือนจาก PeriodIndex object
print("\nจำนวนวันในเดือนจาก PeriodIndex...\n", periodIndex.daysinmonth)

ผลลัพธ์ที่คาดหวัง

PeriodIndex... PeriodIndex(['2018-07-25', '2019-10-30', '2020-11-20', '2021-09-15', '2022-03-12', '2023-06-18'], dtype='period[D]')
PeriodIndex frequency... <Day>
Month number... Int64Index([7, 10, 11, 9, 3, 6], dtype='int64')
จำนวนวันในเดือนจาก PeriodIndex... Int64Index([31, 31, 30, 30, 31, 30], dtype='int64')

คำอธิบาย: ค่าที่ได้ [31, 31, 30, 30, 31, 30] ตรงกับจำนวนวันในเดือนกรกฎาคม, ตุลาคม, พฤศจิกายน, กันยายน, มีนาคม, มิถุนายน ตามลำดับ (ปี 2020 เป็นปีอธิกสุรทินแต่นובמברมี 30 วันอยู่แล้ว)