Spec-Zone.ru › pandas 0.25

pandas.date_range

pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, closed=None, **kwargs) [source]

Возвращает DatetimeIndex с фиксированной частотой.

Параметры:
start : str or datetime-like, optional

Левая граница для генерации дат.

end : str or datetime-like, optional

Правая граница для генерации дат.

periods : integer, optional

Количество периодов для генерации.

freq : str or DateOffset, default ‘D’

Строки частоты могут иметь кратные значения, например, ‘5H’. Список псевдонимов частот см. здесь.

tz : str or tzinfo, optional

Имя часового пояса для возвращаемого локального DatetimeIndex, например, ‘Asia/Hong_Kong’. По умолчанию возвращаемый DatetimeIndex является часовым поясом по умолчанию.

normalize : bool, default False

Нормализовать даты начала/окончания до полуночи перед генерацией диапазона дат.

name : str, default None

Имя результирующего DatetimeIndex.

closed : {None, ‘left’, ‘right’}, optional

Сделать интервал закрытым относительно заданной частоты слева, справа или с обеих сторон (None, по умолчанию).

**kwargs

Для совместимости. Не оказывает влияния на результат.

Возвращает:
rng : DatetimeIndex

См. также

DatetimeIndex
Неизменяемый контейнер для дат и времени.
timedelta_range
Возвращает TimedeltaIndex с фиксированной частотой.
period_range
Возвращает PeriodIndex с фиксированной частотой.
interval_range
Возвращает IntervalIndex с фиксированной частотой.

Примечания

Из четырёх параметров start, end, periods, и freq, ровно три должны быть заданы. Если freq опущено, результирующий DatetimeIndex будет содержать periods линейно расположенных элементов между start и end (закрытые с обеих сторон).

Дополнительную информацию о строках частоты см. по этой ссылке.

Примеры

Указание значений

Четыре следующих примера генерируют один и тот же DatetimeIndex, но изменяют комбинацию start, end и periods.

Укажите start и end, с по умолчанию ежедневной частотой.

>>> pd.date_range(start='1/1/2018', end='1/08/2018')
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')

Укажите start и periods, количество периодов (дней).

>>> pd.date_range(start='1/1/2018', periods=8)
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')

Укажите end и periods, количество периодов (дней).

>>> pd.date_range(end='1/1/2018', periods=8)
DatetimeIndex(['2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28',
               '2017-12-29', '2017-12-30', '2017-12-31', '2018-01-01'],
              dtype='datetime64[ns]', freq='D')

Укажите start, end, и periods; частота генерируется автоматически (линейно расположена).

>>> pd.date_range(start='2018-04-24', end='2018-04-27', periods=3)
DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00',
               '2018-04-27 00:00:00'],
              dtype='datetime64[ns]', freq=None)

Другие параметры

Изменили freq (частоту) на 'M' (частоту конца месяца).

>>> pd.date_range(start='1/1/2018', periods=5, freq='M')
DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',
               '2018-05-31'],
              dtype='datetime64[ns]', freq='M')

Разрешены кратные значения

>>> pd.date_range(start='1/1/2018', periods=5, freq='3M')
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

freq также можно указать как объект смещения.

>>> pd.date_range(start='1/1/2018', periods=5, freq=pd.offsets.MonthEnd(3))
DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31',
               '2019-01-31'],
              dtype='datetime64[ns]', freq='3M')

Укажите tz для установки часового пояса.

>>> pd.date_range(start='1/1/2018', periods=5, tz='Asia/Tokyo')
DatetimeIndex(['2018-01-01 00:00:00+09:00', '2018-01-02 00:00:00+09:00',
               '2018-01-03 00:00:00+09:00', '2018-01-04 00:00:00+09:00',
               '2018-01-05 00:00:00+09:00'],
              dtype='datetime64[ns, Asia/Tokyo]', freq='D')

closed управляет включением start и end на границе. По умолчанию включены граничные точки с обеих сторон.

>>> pd.date_range(start='2017-01-01', end='2017-01-04', closed=None)
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04'],
              dtype='datetime64[ns]', freq='D')

Используйте closed='left' чтобы исключить end если он попадает на границу.

>>> pd.date_range(start='2017-01-01', end='2017-01-04', closed='left')
DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03'],
              dtype='datetime64[ns]', freq='D')

Используйте closed='right' чтобы исключить start если он попадает на границу.

>>> pd.date_range(start='2017-01-01', end='2017-01-04', closed='right')
DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-04'],
              dtype='datetime64[ns]', freq='D')

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.date_range.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API