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