Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Ceil DateTimeIndex với tần suất mili-giây

Để 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: .261811624 giây = 261.811624 mili-giây
  • Ceil mili-giây: làm tròn lên đến mili-giây nguyên tiếp theo → 262 mili-giây
  • Kết quả: .262000 giây (3 chữ số sau dấu phẩy, phần micro/nano = 0)

So sánh các tần suất ceil

freqKết quảChữ số giữ lại
Gốc.2618116249 (nano)
ceil('us').2618126 (micro)
ceil('ms').2620003 (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.