Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Làm tròn TimeDeltaIndex với tần suất phút

Để làm tròn TimeDeltaIndex với tần suất phút, sử dụng phương thức TimeDeltaIndex.round(). Với tần suất phút, truyền tham số freq bằng giá trị 'T'.

Các bước thực hiện

1. Import thư viện

import pandas as pd

2. Tạo TimeDeltaIndex

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'
])

3. Thực hiện phép round với tần suất phút

print("\nThực hiện phép Round với tần suất phút...\n", tdIndex.round(freq='T'))

Ví dụ hoàn chỉnh

import pandas as pd

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'
])

print("TimeDeltaIndex...\n", tdIndex)
print("\nDataFrame các thành phần...\n", tdIndex.components)
print("\nThực hiện phép Round với tần suất phút...\n", tdIndex.round(freq='T'))

Kết quả đầu ra

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)

DataFrame các thành phần...
   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

Thực hiện phép Round với tần suất phút...
TimedeltaIndex(['10 days 05:02:00', '0 days 22:39:00',
                '2 days 07:08:00', '0 days 21:16:00'],
               dtype='timedelta64[ns]', freq=None)

Giải thích: Phép round với 'T' làm tròn đến phút gần nhất. Phần tử 2: 39 phút 19 giây → 39 phút (19 giây < 30). Phần tử 4: 15 phút 45 giây → 16 phút (45 giây ≥ 30, làm tròn lên).