РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
470 of 687 menu

Функция date_range

Функция date_range из модуля pandas создаёт диапазон дат (или меток времени) и возвращает его в виде объекта DatetimeIndex. Это удобно для создания равномерных последовательностей дат, например, для индексации временных рядов. Основные параметры: start - начальная дата, end - конечная дата, periods - количество периодов, freq - шаг (частота) между датами. Если не указан freq и заданы start и end, то шаг будет выбран автоматически как один день.

Также можно задать часовой пояс через параметр tz и нормализовать время до полуночи с помощью normalize. Функция гибко настраивается и часто используется вместе с методом reindex или для создания временной шкалы перед вставкой данных.

Синтаксис

pd.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False)

Пример

Создадим диапазон дат с шагом в один день от указанной даты начала до даты конца:

import pandas as pd res = pd.date_range(start='2026-01-01', end='2026-01-05') print(res)

Результат выполнения кода:

DatetimeIndex(['2026-01-01', '2026-01-02', '2026-01-03', '2026-01-04', '2026-01-05'], dtype='datetime64[ns]', freq='D')

Пример

Укажем количество периодов вместо конечной даты. Получим ровно 3 даты с шагом по умолчанию (один день):

import pandas as pd res = pd.date_range(start='2026-01-01', periods=3) print(res)

Результат выполнения кода:

DatetimeIndex(['2026-01-01', '2026-01-02', '2026-01-03'], dtype='datetime64[ns]', freq='D')

Пример

Зададим частоту в 4 часа (параметр freq = '4h'). Диапазон будет содержать даты с шагом в 4 часа:

import pandas as pd res = pd.date_range(start='2026-01-01 08:00', periods=4, freq='4h') print(res)

Результат выполнения кода:

DatetimeIndex(['2026-01-01 08:00:00', '2026-01-01 12:00:00', '2026-01-01 16:00:00', '2026-01-01 20:00:00'], dtype='datetime64[ns]', freq='4h')

Пример

Используем параметр normalize для приведения времени к полуночи, и зададим часовой пояс с помощью tz:

import pandas as pd res = pd.date_range(start='2026-01-01 12:00', periods=3, freq='D', normalize=True, tz='Europe/Moscow') print(res)

Результат выполнения кода:

DatetimeIndex(['2026-01-01 00:00:00+03:00', '2026-01-02 00:00:00+03:00', '2026-01-03 00:00:00+03:00'], dtype='datetime64[ns, Europe/Moscow]', freq='D')

Смотрите также

  • функция to_datetime,
    которая преобразует аргументы в дату и время
  • функция bdate_range,
    которая создаёт диапазон только рабочих дней
  • функция period_range,
    которая создаёт диапазон периодов (например, по месяцам)
  • функция to_timedelta,
    которая преобразует аргументы в длительность (timedelta)
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить