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

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


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

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

import pandas as pd

สร้างวัตถุ TimeDeltaIndex เราได้ตั้งค่าข้อมูลที่เหมือนไทม์เดลต้าโดยใช้พารามิเตอร์ 'data' -

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

แสดง TimedeltaIndex -

print("TimedeltaIndex...\n", tdIndex)

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

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

ตัวอย่าง

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

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# display TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)

# Return a dataframe of the components of TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

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

ผลลัพธ์

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

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
   days  hours minutes seconds milliseconds microseconds nanoseconds
0   10     5      2      0         0           3            10
1    0    22     39     19       999         999             0
2    2     7      8      2         0          45             0
3    0    21     15     45       999         999             0

Performing round operation with hourly frequency...
TimedeltaIndex(['10 days 05:00:00', '0 days 23:00:00', '2 days 07:00:00',
'0 days 21:00:00'],
dtype='timedelta64[ns]', freq=None)