Phương thức TimeDeltaIndex.ceil() trong Pandas làm tròn lên (ceiling) các giá trị TimeDeltaIndex đến tần suất chỉ định. Với tần suất milliseconds, sử dụng freq='ms'.
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=[
'4 day 8h 20min 35us 45ns',
'+17:42:19.999999',
'9 day 3h 08:16:02.000055',
'+22:35:25.000075'
])
3. Hiển thị TimeDeltaIndex
print("TimedeltaIndex...\n", tdIndex)
4. Ceil với tần suất milliseconds
print("\nCeil operation với milliseconds frequency...\n", tdIndex.ceil(freq='ms'))
Ví dụ hoàn chỉnh
import pandas as pd
tdIndex = pd.TimedeltaIndex(data=[
'4 day 8h 20min 35us 45ns',
'+17:42:19.999999',
'9 day 3h 08:16:02.000055',
'+22:35:25.000075'
])
print("TimedeltaIndex...\n", tdIndex)
print("\nDataframe các thành phần TimeDeltas...\n", tdIndex.components)
print("\nCeil operation với milliseconds frequency...\n", tdIndex.ceil(freq='ms'))
Kết quả đầu ra
TimedeltaIndex...
TimedeltaIndex(['4 days 08:20:00.000035045', '0 days 17:42:19.999999',
'9 days 11:16:02.000055', '0 days 22:35:25.000075'],
dtype='timedelta64[ns]', freq=None)
Dataframe các thành phần TimeDeltas...
days hours minutes seconds milliseconds microseconds nanoseconds
0 4 8 20 0 0 35 45
1 0 17 42 19 999 999 0
2 9 11 16 2 0 55 0
3 0 22 35 25 0 75 0
Ceil operation với milliseconds frequency...
TimedeltaIndex(['4 days 08:20:00.001000', '0 days 17:42:20',
'9 days 11:16:02.001000', '0 days 22:35:25.001000'],
dtype='timedelta64[ns]', freq=None)
Giải thích chi tiết:
- Dòng 0: 35μs 45ns → làm tròn lên ms tiếp theo → 1ms (0.001s)
- Dòng 1: 999ms 999μs → làm tròn lên → 1000ms = 1s → 17:42:20
- Dòng 2: 55μs → làm tròn lên → 1ms
- Dòng 3: 75μs → làm tròn lên → 1ms
Các tần suất freq phổ biến cho ceil/floor/round
| freq | Ý nghĩa |
|---|---|
'N' / 'ns' |
Nanosecond |
'U' / 'us' |
Microsecond |
'L' / 'ms' |
Millisecond |
'S' |
Second |
'T' / 'min' |
Minute |
'H' |
Hour |
'D' |
Day |