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

Python Pandas - การทำ Floor Operation บน TimeDeltaIndex ด้วยความถี่นาที

หากต้องการทำ floor operation (การปัดเศษลง) บน TimeDeltaIndex ด้วยความถี่นาที ให้ใช้เมธอด TimeDeltaIndex.floor() โดยระบุพารามิเตอร์ freq เป็น 'T'

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import pandas as pd

2. สร้างอ็อบเจ็กต์ TimeDeltaIndex

tdIndex = pd.TimedeltaIndex(data=[
    '5 day 8h 20min 35us 45ns',
    '+17:42:19.999999',
    '7 day 3h 08:16:02.000055',
    '+22:35:25.999999'
])

3. แสดง TimeDeltaIndex

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

4. ทำ Floor Operation ด้วยความถี่นาที

print("\nPerforming Floor operation with minute frequency...\n", tdIndex.floor(freq='T'))

ตัวอย่างโค้ดสมบูรณ์

import pandas as pd

# สร้าง TimeDeltaIndex object
tdIndex = pd.TimedeltaIndex(data=[
    '5 day 8h 20min 35us 45ns',
    '+17:42:19.999999',
    '7 day 3h 08:16:02.000055',
    '+22:35:25.999999'
])

# แสดง TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)

# แสดงคอมโพเนนต์ของ TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# Floor operation ด้วยความถี่นาที
print("\nPerforming Floor operation with minute frequency...\n", tdIndex.floor(freq='T'))

ผลลัพธ์ที่คาดหวัง

TimedeltaIndex... 
TimedeltaIndex(['5 days 08:20:00.000035045', '0 days 17:42:19.999999', 
                '7 days 11:16:02.000055', '0 days 22:35:25.999999'], 
               dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
    days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0     5      8       20        0             0            35           45
1     0     17       42       19           999           999            0
2     7     11       16        2             0            55            0
3     0     22       35       25           999           999            0

Performing Floor operation with minute frequency...
TimedeltaIndex(['5 days 08:20:00', '0 days 17:42:00', 
                '7 days 11:16:00', '0 days 22:35:00'], 
               dtype='timedelta64[ns]', freq=None)

หมายเหตุ: การทำ floor ด้วยความถี่ 'T' จะปัดเศษค่าลงมาจนถึงระดับนาที โดยตัดส่วนวินาทีและส่วนทศนิยมของวินาทีออกไปทั้งหมด