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

Python Pandas - ตรวจสอบว่า CustomBusinessDay Offset ได้รับการปรับให้เป็นมาตรฐานหรือไม่


ในการตรวจสอบว่า CustomBusinessDay Offset ถูกทำให้เป็นมาตรฐานหรือไม่ ให้ใช้คุณสมบัติ CustomBusinessDay.normalize ใน Pandas

ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import pandas as pd

ตั้งค่าอ็อบเจ็กต์ประทับเวลาใน Pandas -

timestamp = pd.Timestamp('2021-10-22 03:10:35')

สร้าง CustomBusinessDay Offset CustomBusinessDay เป็นคลาสย่อย DateOffset ที่แสดงวันทำการที่กำหนดเอง ไม่รวมวันหยุด สัปดาห์ของวันทำการที่ถูกต้อง เราได้ทำให้ CustomBusinessDay เป็นมาตรฐานโดยใช้พารามิเตอร์ "ทำให้เป็นมาตรฐาน" -

cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri', normalize=True)

เพิ่มออฟเซ็ตในการประทับเวลาและแสดงการประทับเวลาที่อัปเดต -

print("\nUpdated Timestamp...\n",timestamp + cbdOffset)

ตรวจสอบว่า CustomBusinessDay Offset เป็นมาตรฐานหรือไม่ -

print("\nThe CustomBusinessDay Offset is normalized ?\n", cbdOffset.normalize)

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

import pandas as pd

# Set the timestamp object in Pandas
timestamp = pd.Timestamp('2021-10-22 03:10:35')

# Display the Timestamp
print("Timestamp...\n",timestamp)

# Create the CustomBusinessDay Offset
# CustomBusinessDay is the DateOffset subclass representing custom business days excluding holidays
# Weekmask of valid business days
# We have normalized the CustomBusinessDay using the "normalize" parameter
cbdOffset = pd.tseries.offsets.CustomBusinessDay(n = 2, weekmask = 'Mon Tue Wed Fri', normalize=True)

# Display the CustomBusinessDay Offset
print("\nCustomBusinessDay Offset...\n",cbdOffset)

# Add the offset to the Timestamp and display the Updated Timestamp
print("\nUpdated Timestamp...\n",timestamp + cbdOffset)

# Return frequency applied on the given CustomBusinessDay Offset object as a string
print("\nFrequency applied on the given CustomBusinessDay Offset object...\n",cbdOffset.freqstr)

# check whether the CustomBusinessDay Offset is normalized or not
print("\nThe CustomBusinessDay Offset is normalized ?\n", cbdOffset.normalize)

ผลลัพธ์

สิ่งนี้จะสร้างรหัสต่อไปนี้ -

Timestamp...
 2021-10-22 03:10:35

CustomBusinessDay Offset...
 <2 * CustomBusinessDays>

Updated Timestamp...
 2021-10-26 00:00:00

Frequency applied on the given CustomBusinessDay Offset object...
 2C

The CustomBusinessDay Offset is normalized ?
 True