Spec-Zone.ru › pandas 1

pandas.date_range

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

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

Возвращает диапазон равномерно распределенных временных точек (где разность между любыми двумя смежными точками задаётся заданной частотой) таких, что они все удовлетворяют условию start <[=] x <[=] end, где первая и последняя точки, соответственно, являются первой и последней временными точками в этом диапазоне, которые попадают на границу freq (если задано в виде строки частоты) или которые являются допустимыми для freq (если задано как pandas.tseries.offsets.DateOffset). (Если ровно один из start, end, или freq не указан, этот отсутствующий параметр может быть вычислен исходя из periods, количества временных шагов в диапазоне. См. примечание ниже.)

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

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

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

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

periods:int, необязательно

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

freq:строка или DateOffset, по умолчанию ‘D’

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

tz:строка или tzinfo, необязательно

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

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

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

name:строка, по умолчанию None

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

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

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

Устарело начиная с версии 1.4.0: Аргумент closed устарел для стандартизации входных данных границ. Используйте inclusive вместо этого, чтобы задать каждую границу как закрытую или открытую.

inclusive:{“both”, “neither”, “left”, “right”}, по умолчанию “both”

Включать границы; Указывает, следует ли устанавливать каждую границу как закрытую или открытую.

Введено в версии 1.4.0.

**kwargs

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

Returns
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 также может быть задан как объект Offset.

>>> 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')

inclusive управляет тем, включаются ли start и end, которые находятся на границе. По умолчанию, “both”, включает граничные точки с обеих сторон.

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

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

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

Используйте inclusive='right' для исключения start, если он попадает на границу, и аналогично inclusive='neither' исключит как start, так и end.

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

© 2008–2022, 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/1.5.0/reference/api/pandas.date_range.html

Spec-Zone.ru

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