Spec-Zone.ru › pandas 0.23

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 или datetime-подобный объект, необязательно

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

end : str или datetime-подобный объект, необязательно

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

periods : целое число, необязательно

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

freq : str или DateOffset, по умолчанию ‘D’ (календарный день)

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

tz : str или tzinfo, необязательно

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

normalize : bool, по умолчанию False

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

name : str, по умолчанию None

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

closed : {None, ‘left’, ‘right’}, необязательно

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

**kwargs

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

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

См. также

pandas.DatetimeIndex
Неизменяемый контейнер для дат.
pandas.timedelta_range
Возвращает TimedeltaIndex с фиксированной частотой.
pandas.period_range
Возвращает PeriodIndex с фиксированной частотой.
pandas.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'], 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.23.4/generated/pandas.date_range.html

Spec-Zone.ru

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