Метод tz_localize
Метод tz_localize применяется к DatetimeIndex
и назначает ему определенный часовой пояс. Первым
параметром передается строка с названием пояса.
Если индекс уже имеет часовой пояс, можно использовать
параметр ambiguous для разрешения неоднозначных
моментов времени, а параметр nonexistent -
для обработки несуществующих моментов.
Синтаксис
datetime_index.tz_localize(tz, ambiguous='infer', nonexistent='NaT')
Пример
Создадим временной индекс без часового пояса и добавим ему пояс UTC:
import pandas as pd
idx = pd.date_range('2025-01-01 10:00', periods=3, freq='H')
idx_local = idx.tz_localize('UTC')
print(idx_local)
Результат выполнения кода:
"DatetimeIndex(['2025-01-01 10:00:00+00:00', '2025-01-01 11:00:00+00:00', '2025-01-01 12:00:00+00:00'], dtype='datetime64[ns, UTC]', freq='H')"
Пример
Применим локализацию к временному индексу с указанием пояса 'Europe/Moscow':
import pandas as pd
idx = pd.date_range('2025-01-01 10:00', periods=3, freq='H')
idx_local = idx.tz_localize('Europe/Moscow')
print(idx_local)
Результат выполнения кода:
"DatetimeIndex(['2025-01-01 10:00:00+03:00', '2025-01-01 11:00:00+03:00', '2025-01-01 12:00:00+03:00'], dtype='datetime64[ns, Europe/Moscow]', freq='H')"
Пример
Применим локализацию к неоднозначному времени, когда час переводится назад:
import pandas as pd
idx = pd.date_range('2025-10-26 02:00', periods=4, freq='H')
idx_local = idx.tz_localize('Europe/Moscow', ambiguous='infer')
print(idx_local)
Результат выполнения кода:
"DatetimeIndex(['2025-10-26 02:00:00+03:00', '2025-10-26 03:00:00+03:00', '2025-10-26 03:00:00+04:00', '2025-10-26 04:00:00+04:00'], dtype='datetime64[ns, Europe/Moscow]', freq='H')"
Пример
Обработаем несуществующее время, когда час переводится вперед:
import pandas as pd
idx = pd.date_range('2025-03-30 02:00', periods=2, freq='H')
idx_local = idx.tz_localize('Europe/Moscow', nonexistent='NaT')
print(idx_local)
Результат выполнения кода:
"DatetimeIndex(['2025-03-30 02:00:00+03:00', 'NaT'], dtype='datetime64[ns, Europe/Moscow]', freq='H')"
Смотрите также
-
класс
DatetimeIndex,
который представляет индекс временных меток -
метод
tz_convert,
который преобразует уже имеющийся часовой пояс в другой -
атрибут
tz,
который возвращает часовой пояс индекса -
метод
floor,
который округляет временные метки вниз до указанной частоты