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 phút (minutely), sử dụng freq='T' hoặc freq='min'.
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 phút
print("\nCeil operation với minutely frequency...\n", tdIndex.ceil(freq='T'))
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 minutely frequency...\n", tdIndex.ceil(freq='T'))
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 minutely frequency...
TimedeltaIndex(['4 days 08:21:00', '0 days 17:43:00',
'9 days 11:17:00', '0 days 22:36:00'],
dtype='timedelta64[ns]', freq=None)
Giải thích chi tiết:
- Dòng 0: 20:00.000035 → làm tròn lên phút tiếp theo → 21:00
- Dòng 1: 17:42:19.999999 → làm tròn lên → 17:43:00
- Dòng 2: 11:16:02.000055 → làm tròn lên → 11:17:00
- Dòng 3: 22:35:25.000075 → làm tròn lên → 22:36:00
Lưu ý: freq='T' và freq='min' là tương đương (cả hai đều chỉ Minute).