Метод snap
Метод snap применяется к DatetimeIndex
и возвращает новый индекс с временными метками,
округлёнными до ближайшей границы указанной частоты.
Первым параметром передаётся строка с частотой
(например, 'H' для часа или 'D' для дня),
которая определяет шаг округления.
Метод полезен для приведения временных рядов
к регулярной сетке.
Синтаксис
datetime_index.snap(freq)
Пример
Округлим временные метки до начала часа:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-09-09 14:23:45',
'2026-09-09 15:58:12',
'2026-09-09 16:05:37'
])
res = idx.snap('H')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-09-09 14:00:00', '2026-09-09 16:00:00',
'2026-09-09 16:00:00'],
dtype='datetime64[ns]', freq=None)
Пример
Округлим метки до ближайшего дня:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-09-08 23:30:00',
'2026-09-09 00:15:00',
'2026-09-09 23:45:00'
])
res = idx.snap('D')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-09-09', '2026-09-09', '2026-09-10'],
dtype='datetime64[ns]', freq=None)
Пример
Используем snap с частотой 30 минут:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-09-09 14:10:00',
'2026-09-09 14:20:00',
'2026-09-09 14:40:00'
])
res = idx.snap('30T')
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-09-09 14:00:00', '2026-09-09 14:30:00',
'2026-09-09 14:30:00'],
dtype='datetime64[ns]', freq=None)