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