Để làm tròn xuống (floor) DateTimeIndex đến tần suất micro-giây, dùng DateTimeIndex.floor(freq='us').
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. Floor micro-giây
print("\nFloor micro-giây...\n",
datetimeindex.floor(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("\nFloor micro-giây...\n",
datetimeindex.floor(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')
Floor micro-giây...
DatetimeIndex(['2021-10-18 07:20:32.261811+10:30', ...],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
Giải thích
- Gốc:
.261811624giây =261811.624micro-giây - Floor micro-giây: cắt bỏ phần nano-giây →
261811micro-giây - Kết quả:
.261811giây (6 chữ số sau dấu phẩy)
So sánh floor/ceil/round micro-giây
| Phép toán | Kết quả (giây) | Giải thích |
|---|---|---|
| Gốc | .261811624 | 9 chữ số (nano) |
| floor('us') | .261811 | Cắt bỏ nano, giữ micro nguyên |
| ceil('us') | .261812 | Lên micro tiếp theo (vì nano ≥ 500) |
| round('us') | .261812 | Làm tròn gần nhất (nano ≥ 500 → lên) |
Lưu ý: floor luôn làm tròn xuống (giảm hoặc giữ nguyên giá trị thời gian).