Метод ceil аксессора dt
Метод ceil аксессора dt применяется к Series
с типом данных datetime и возвращает новую серию
с округлёнными в большую сторону значениями.
Обязательным параметром передаётся строка с частотой,
до которой нужно выполнить округление.
Синтаксис
series.dt.ceil(freq)
Параметр freq принимает строку с указанием частоты.
Частота может быть задана, например, как 'Y'
(год), 'M' (месяц), 'D' (день),
'H' (час), 'T' или 'min' (минута),
'S' (секунда), а также их комбинации,
например '2H' (два часа) или '30T'
(тридцать минут).
Пример
Давайте создадим серию с датами и округлим их в большую сторону до начала дня:
import pandas as pd
ser = pd.Series(pd.date_range('2026-09-09 15:30:45', periods=3, freq='6H'))
res = ser.dt.ceil('D')
print(res)
Результат выполнения кода:
0 2026-09-10
1 2026-09-10
2 2026-09-11
dtype: datetime64[ns]
Как видим, все даты были округлены до следующего дня.
Пример
Округлим значения до начала часа в большую сторону:
import pandas as pd
ser = pd.Series(pd.date_range('2026-09-09 12:15:30', periods=4, freq='45T'))
res = ser.dt.ceil('H')
print(res)
Результат выполнения кода:
0 2026-09-09 13:00:00
1 2026-09-09 14:00:00
2 2026-09-09 15:00:00
3 2026-09-09 16:00:00
dtype: datetime64[ns]
Каждая дата была округлена в большую сторону до ближайшего часа.
Пример
Округлим значения в большую сторону до начала месяца:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-15', periods=3, freq='20D'))
res = ser.dt.ceil('M')
print(res)
Результат выполнения кода:
0 2026-02-01
1 2026-03-01
2 2026-04-01
dtype: datetime64[ns]
Все даты были округлены до первого числа следующего месяца.
Пример
Округлим значения в большую сторону до ближайшей минуты:
import pandas as pd
ser = pd.Series(pd.date_range('2026-09-09 23:58:30', periods=3, freq='45S'))
res = ser.dt.ceil('T')
print(res)
Результат выполнения кода:
0 2026-09-09 23:59:00
1 2026-09-10 00:00:00
2 2026-09-10 00:00:00
dtype: datetime64[ns]
Обратите внимание, что при округлении до минуты секунды отбрасываются в большую сторону.