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

Python Pandas - Trả về Timedelta mới làm tròn lên (ceil) theo độ phân giải

Để trả về Timedelta mới được làm tròn lên (ceiling) theo độ phân giải (resolution) chỉ định, hãy sử dụng phương thức timedelta.ceil() với tham số freq.

Các bước thực hiện

1. Import thư viện cần thiết

import pandas as pd

2. Tạo Timedelta object

timedelta = pd.Timedelta('6 days 1 min 30 s')

3. Hiển thị Timedelta

print("Timedelta...\n", timedelta)

4. Làm tròn lên theo tần suất ngày (D)

res = timedelta.ceil(freq='D')

Ví dụ hoàn chỉnh

import pandas as pd

# Tạo Timedelta object
timedelta = pd.Timedelta('6 days 1 min 30 s')

# Hiển thị Timedelta
print("Timedelta...\n", timedelta)

# Làm tròn lên theo tần suất ngày
res = timedelta.ceil(freq='D')

# Hiển thị Timedelta đã ceil
print("\nTimedelta (ceiled)...\n", res)

Kết quả đầu ra

Timedelta...
6 days 00:01:30
Timedelta (ceiled)...
7 days 00:00:00

Giải thích: 6 days 1 min 30 s → làm tròn lên đến ngày tiếp theo → 7 days 00:00:00. Tham số freq chấp nhận: 'D' (ngày), 'H' (giờ), 'T'/'min' (phút), 'S' (giây), 'ms' (millisecond), 'us' (microsecond), 'ns' (nanosecond). Ngược lại: floor() làm tròn xuống, round() làm tròn gần nhất.