From e393b36141df7d28469eef5d0ab90f619540cc33 Mon Sep 17 00:00:00 2001 From: Siddhartha Gandhi Date: Sun, 18 Sep 2022 19:52:00 -0400 Subject: [PATCH 1/2] Update documentation for date_range(), bdate_range(), and interval_range() to include timedelta as a possible data type for the freq parameter --- pandas/core/indexes/datetimes.py | 4 ++-- pandas/core/indexes/interval.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pandas/core/indexes/datetimes.py b/pandas/core/indexes/datetimes.py index b91fbb8244cb5..42e2015f0f0f8 100644 --- a/pandas/core/indexes/datetimes.py +++ b/pandas/core/indexes/datetimes.py @@ -966,7 +966,7 @@ def date_range( Right bound for generating dates. periods : int, optional Number of periods to generate. - freq : str or DateOffset, default 'D' + freq : str, datetime.timedelta, or DateOffset, default 'D' Frequency strings can have multiples, e.g. '5H'. See :ref:`here ` for a list of frequency aliases. @@ -1163,7 +1163,7 @@ def bdate_range( Right bound for generating dates. periods : int, default None Number of periods to generate. - freq : str or DateOffset, default 'B' (business daily) + freq : str, datetime.timedelta, or DateOffset, default 'B' (business daily) Frequency strings can have multiples, e.g. '5H'. tz : str or None Time zone name for returning localized DatetimeIndex, for example diff --git a/pandas/core/indexes/interval.py b/pandas/core/indexes/interval.py index e686e8453f0d9..1d620fbe6d3a3 100644 --- a/pandas/core/indexes/interval.py +++ b/pandas/core/indexes/interval.py @@ -969,7 +969,7 @@ def interval_range( Right bound for generating intervals. periods : int, default None Number of periods to generate. - freq : numeric, str, or DateOffset, default None + freq : numeric, str, datetime.timedelta, or DateOffset, default None The length of each interval. Must be consistent with the type of start and end, e.g. 2 for numeric, or '5H' for datetime-like. Default is 1 for numeric and 'D' for datetime-like. From 9eb97043985511c74bcc18d06e8af3ac31fdee2c Mon Sep 17 00:00:00 2001 From: Siddhartha Gandhi Date: Mon, 19 Sep 2022 21:23:13 -0400 Subject: [PATCH 2/2] Add test case for date_range construction using datetime.timedelta --- pandas/tests/indexes/datetimes/test_date_range.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pandas/tests/indexes/datetimes/test_date_range.py b/pandas/tests/indexes/datetimes/test_date_range.py index 5f4f941057b55..142679e292b38 100644 --- a/pandas/tests/indexes/datetimes/test_date_range.py +++ b/pandas/tests/indexes/datetimes/test_date_range.py @@ -432,6 +432,13 @@ def test_date_range_businesshour(self): rng = date_range("2014-07-04 09:00", "2014-07-08 16:00", freq="BH") tm.assert_index_equal(idx, rng) + def test_date_range_timedelta(self): + start = "2020-01-01" + end = "2020-01-11" + rng1 = date_range(start, end, freq="3D") + rng2 = date_range(start, end, freq=timedelta(days=3)) + tm.assert_index_equal(rng1, rng2) + def test_range_misspecified(self): # GH #1095 msg = (