Метод round
Метод round аксессора dt применяется к серии с типом данных
datetime и округляет значения до указанной временной частоты.
Первым параметром передаётся строка с частотой округления.
Метод возвращает новую серию с округлёнными значениями.
Синтаксис
ser.dt.round(freq)
Пример
Создадим серию с датами и округлим их до ближайшего часа:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01 10:30:00', periods=3, freq='H'))
print('Исходная серия:')
print(ser)
res = ser.dt.round('H')
print('\nОкругление до часа:')
print(res)
Результат выполнения кода:
Исходная серия:
0 2026-01-01 10:30:00
1 2026-01-01 11:30:00
2 2026-01-01 12:30:00
dtype: datetime64[ns]
Округление до часа:
0 2026-01-01 11:00:00
1 2026-01-01 12:00:00
2 2026-01-01 13:00:00
dtype: datetime64[ns]
Пример
Округлим даты до ближайшего дня:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01 12:30:00', periods=3, freq='12H'))
print('Исходная серия:')
print(ser)
res = ser.dt.round('D')
print('\nОкругление до дня:')
print(res)
Результат выполнения кода:
Исходная серия:
0 2026-01-01 12:30:00
1 2026-01-02 00:30:00
2 2026-01-02 12:30:00
dtype: datetime64[ns]
Округление до дня:
0 2026-01-02
1 2026-01-02
2 2026-01-03
dtype: datetime64[ns]
Пример
Округлим временные метки до ближайшей минуты:
import pandas as pd
ser = pd.Series(pd.date_range('2026-01-01 10:30:15', periods=3, freq='30S'))
print('Исходная серия:')
print(ser)
res = ser.dt.round('T')
print('\nОкругление до минуты:')
print(res)
Результат выполнения кода:
Исходная серия:
0 2026-01-01 10:30:15
1 2026-01-01 10:30:45
2 2026-01-01 10:31:15
dtype: datetime64[ns]
Округление до минуты:
0 2026-01-01 10:30:00
1 2026-01-01 10:31:00
2 2026-01-01 10:31:00
dtype: datetime64[ns]
Смотрите также
-
метод
floor,
который округляет даты вниз до указанной частоты -
метод
ceil,
который округляет даты вверх до указанной частоты -
метод
strftime,
который преобразует даты в строки по заданному формату -
атрибут
components,
который возвращает отдельные компоненты даты и времени