Để làm tròn lên (ceil) DateTimeIndex đến tần suất mili-giây, dùng DateTimeIndex.ceil(freq='ms').
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'
)
3. Ceil mili-giây
print("\nCeil mili-giây...\n",
datetimeindex.ceil(freq='ms'))
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 mili-giây...\n",
datetimeindex.ceil(freq='ms'))
Kết quả đầu ra
DateTimeIndex...
DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30', ...],
dtype='datetime64[ns, Australia/Adelaide]', freq='40S')
Ceil mili-giây...
DatetimeIndex(['2021-10-18 07:20:32.262000+10:30', ...],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
Giải thích chi tiết
- Gốc:
.261811624giây =261.811624mili-giây - Ceil mili-giây: làm tròn lên đến mili-giây nguyên tiếp theo →
262mili-giây - Kết quả:
.262000giây (3 chữ số sau dấu phẩy, phần micro/nano = 0)
So sánh các tần suất ceil
| freq | Kết quả | Chữ số giữ lại |
|---|---|---|
| Gốc | .261811624 | 9 (nano) |
| ceil('us') | .261812 | 6 (micro) |
| ceil('ms') | .262000 | 3 (mili) |
| ceil('S') | .000000 (giây tiếp theo) | 0 |
Ứng dụng: Chuẩn hóa timestamp về độ chính xác mong muốn trước khi lưu trữ, so sánh, hoặc groupby.