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

Python Pandas - วิธีปัดเศษ DateTimeIndex ด้วยความถี่รายชั่วโมง


ในการปัดเศษ DateTimeIndex ด้วยความถี่รายชั่วโมง ให้ใช้ DateTimeIndex.round() กระบวนการ. สำหรับความถี่รายชั่วโมง ใช้ ความถี่ พารามิเตอร์ที่มีค่า 'H'

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

import pandas as pd

สร้าง DatetimeIndex ด้วยช่วงเวลา 5 และความถี่เป็น T นั่นคือนาที -

datetimeindex = pd.date_range('2021-09-29 07:00', periods=5, tz='Australia/Adelaide', freq='35T')

แสดง DateTimeIndex -

print("DateTimeIndex...\n", datetimeindex)

รอบการทำงานในวันที่ DateTimeIndex ด้วยความถี่รายชั่วโมง สำหรับความถี่รายชั่วโมง เราใช้ 'H' −

print("\nPerforming round operation with hourly frequency...\n",
datetimeindex.round(freq='H'))

ตัวอย่าง

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

import pandas as pd

# DatetimeIndex with period 5 and frequency as T i.e. minutes
# timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-09-29 07:00', periods=5, tz='Australia/Adelaide', freq='35T')

# display
print("DateTimeIndex...\n", datetimeindex)

# getting the hour
res = datetimeindex.hour
# display only the hour
print("\nThe hour from DateTimeIndex...\n", res)

# Round operation on DateTimeIndex date with hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming round operation with hourly frequency...\n",
datetimeindex.round(freq='H'))

ผลลัพธ์

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

DateTimeIndex...
DatetimeIndex(['2021-09-29 07:00:00+09:30', '2021-09-29 07:35:00+09:30',
'2021-09-29 08:10:00+09:30', '2021-09-29 08:45:00+09:30',
'2021-09-29 09:20:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='35T')

The hour from DateTimeIndex...
Int64Index([7, 7, 8, 8, 9], dtype='int64')

Performing round operation with hourly frequency...
DatetimeIndex(['2021-09-29 07:00:00+09:30', '2021-09-29 08:00:00+09:30',
'2021-09-29 08:00:00+09:30', '2021-09-29 09:00:00+09:30',
'2021-09-29 09:00:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)