Để làm tròn lên (ceil) các giá trị DateTimeIndex đến tần suất chỉ định, sử dụng phương thức DateTimeIndex.ceil(freq).
Các bước thực hiện
1. Import thư viện
import pandas as pd
2. Tạo DateTimeIndex
datetimeindex = pd.date_range(
'2021-10-18 07:20:32.261811624',
periods=5,
tz='Australia/Adelaide',
freq='40S'
)
4. Ceil với tần suất micro-giây ('us')
print("\nCeil với freq='us'...\n",
datetimeindex.ceil(freq='us'))
Ví dụ hoàn chỉnh
import pandas as pd
datetimeindex = pd.date_range(
'2021-10-18 07:20:32.261811624',
periods=5,
tz='Australia/Adelaide',
freq='40S'
)
print("DateTimeIndex...\n", datetimeindex)
print("DateTimeIndex frequency...\n", datetimeindex.freq)
print("\nCeil với freq='us'...\n",
datetimeindex.ceil(freq='us'))
Kết quả đầu ra
DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30', ...],
dtype='datetime64[ns, Australia/Adelaide]', freq='40S')
Ceil với freq='us'...
DatetimeIndex(['2021-10-18 07:20:32.261812+10:30', ...],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
Giải thích
- Gốc:
.261811624giây (nano-giây) - Ceil micro-giây: làm tròn lên đến micro-giây gần nhất →
.261812(vì 811624 ns > 811000 ns) - Kết quả không còn
freqvì các giá trị không còn cách đều
Các tần suất freq thường dùng
| freq | Ý nghĩa |
|---|---|
| 'N' / 'ns' | Nano-giây |
| 'U' / 'us' | Micro-giây |
| 'L' / 'ms' | Mili-giây |
| 'S' / 's' | Giây |
| 'T' / 'min' | Phút |
| 'H' / 'h' | Giờ |
| 'D' / 'd' | Ngày |
Lưu ý: ceil luôn làm tròn lên (tăng giá trị thời gian). Ngược lại là floor (làm tròn xuống) và round (làm tròn gần nhất).