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

Python Pandas CustomBusinessHour - ตรวจสอบว่าการประทับเวลาที่ระบุอยู่ในออฟเซ็ตหรือไม่


หากต้องการตรวจสอบว่าการประทับเวลาที่กำหนดเป็นแบบออฟเซ็ตหรือไม่ ให้ใช้ CustomBusinessHour.is_on_offset() ใน Pandas ส่งการประทับเวลาเป็นอาร์กิวเมนต์เพื่อตรวจสอบ

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

import pandas as pd

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

timestamp = pd.Timestamp('2021-11-14 05:20:30')

สร้างออฟเซ็ต CustomBusinessHour CustomBusinessHour เป็นคลาสย่อย DateOffset -

cbhOffset = pd.tseries.offsets.CustomBusinessHour(start="09:30", end = "18:30")

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

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

ตรวจสอบว่าการประทับเวลาที่กำหนดเป็นแบบออฟเซ็ตหรือไม่ -

offset = cbhOffset.is_on_offset(pd.Timestamp('2021-11-20 05:20:30'))

แสดงผล -

print("\nCheck if the given timestamp is on offset or not...\n",offset)

ตัวอย่าง

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

import pandas as pd

# Set the timestamp object in Pandas
timestamp = pd.Timestamp('2021-11-14 05:20:30')

# Display the Timestamp
print("Timestamp...\n",timestamp)
# Create the CustomBusinessHour Offset
# CustomBusinessHour is the DateOffset subclass
# Here, "start" is the start time of your custom business hour in 24h format.
# The "end" is the end time of your custom business hour in 24h format.
cbhOffset = pd.tseries.offsets.CustomBusinessHour(start="09:30", end = "18:30")

# Display the CustomBusinessHour Offset
print("\nCustomBusinessHour Offset...\n",cbhOffset)

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

# Check if the given timestamp is on offset or not
offset = cbhOffset.is_on_offset(pd.Timestamp('2021-11-20 05:20:30'))

# display the result
print("\nCheck if the given timestamp is on offset or not...\n",offset)

ผลลัพธ์

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

Timestamp...
 2021-11-14 05:20:30

CustomBusinessHour Offset...
 <CustomBusinessHour: CBH=09:30-18:30>

Updated Timestamp...
 2021-11-15 10:30:00

Check if the given timestamp is on offset or not...
 False