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

Python Pandas - ตรวจสอบว่า BusinessDay Offset ถูกทำให้เป็นมาตรฐานหรือไม่


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

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

import datetime
import pandas as pd

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

timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

สร้างออฟเซ็ตวันธุรกิจ BusinessDay เป็นคลาสย่อย DateOffset เราได้ทำให้วันทำการเป็นมาตรฐานโดยใช้พารามิเตอร์ "ทำให้เป็นมาตรฐาน" -

bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10), normalize=True)

แสดงการประทับเวลาที่อัปเดต -

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

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

print("\nThe BusinessDay Offset is normalized..\n", bdOffset.normalize)

ตัวอย่าง

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

import datetime
import pandas as pd

# Set the timestamp object in Pandas
timestamp = pd.Timestamp('2021-10-30 01:55:02.000045')

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

# Create the BusinessDay Offset
# BusinessDay is the DateOffset subclass
# We have normalized the BusinessDay using the "normalize" parameter
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(hours = 8, minutes = 10), normalize=True)

# Display the BusinessDay Offset
print("\nBusinessDay Offset...\n",bdOffset)

# Display the Updated Timestamp
print("\nUpdated Timestamp...\n",timestamp + bdOffset)

# return the frequency applied on the given BusinessDay object as a string
print("\nFrequency on the given BusinessDay Offset...\n",bdOffset.freqstr)

# return the name of the frequency applied on the given BusinessDay object
print("\nThe name of the frequency on the BusinessDay object..\n", bdOffset.name)

# check whether the BusinessDay Offset is normalized or not
print("\nThe BusinessDay Offset is normalized..\n", bdOffset.normalize)

ผลลัพธ์

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

Timestamp...
 2021-10-30 01:55:02.000045

BusinessDay Offset...
 <BusinessDay: offset=datetime.timedelta(seconds=29400)>

Updated Timestamp...
 2021-11-01 00:00:00

Frequency on the given BusinessDay Offset...
 B+8H10Min

The name of the frequency on the BusinessDay object..
 B

The BusinessDay Offset is normalized..
 True