Метод normalize
Метод normalize применяется к DatetimeIndex
и возвращает новый индекс, в котором для каждой метки времени
время установлено на полночь 00:00:00.
Дата при этом сохраняется. Метод не принимает параметров
и возвращает новый объект DatetimeIndex.
Синтаксис
datetime_index.normalize()
Пример
Создадим индекс с датами и временем и нормализуем его:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-09-09 14:30:00',
'2026-09-10 23:45:00',
'2026-09-11 07:15:00'
])
res = idx.normalize()
print(res)
Результат выполнения кода:
DatetimeIndex(['2026-09-09', '2026-09-10', '2026-09-11'], dtype='datetime64[ns]', freq=None)
Пример
Нормализация времени в DataFrame с индексом типа DatetimeIndex:
import pandas as pd
idx = pd.DatetimeIndex([
'2026-09-09 09:30:00',
'2026-09-10 18:45:00',
'2026-09-11 22:10:00'
])
df = pd.DataFrame(
{'a': [1, 2, 3], 'b': [10, 20, 30]},
index=idx
)
df.index = df.index.normalize()
print(df)
Результат выполнения кода:
a b
2026-09-09 1 10
2026-09-10 2 20
2026-09-11 3 30
Пример
Метод normalize особенно полезен при группировке
по датам без учета времени. Например, создадим
временной ряд с почасовыми данными и сгруппируем
по дням после нормализации:
import pandas as pd
idx = pd.date_range('2026-09-09', periods=6, freq='12H')
ser = pd.Series([1, 2, 3, 4, 5, 6], index=idx)
ser.index = ser.index.normalize()
res = ser.groupby(ser.index).sum()
print(res)
Результат выполнения кода:
2026-09-09 3
2026-09-10 15
dtype: int64
Смотрите также
-
класс
DatetimeIndex,
который представляет индекс с метками времени -
метод
floor,
который округляет время вниз до заданной частоты -
метод
ceil,
который округляет время вверх до заданной частоты -
метод
round,
который округляет время до ближайшей заданной частоты