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
См. также
-
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'], 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.24.2/reference/api/pandas.date_range.html