Skip to content

Commit abdaea7

Browse files
authored
DOC: Update documentation for date_range(), bdate_range(), and interval_range() to include timedelta as a possible data type for the freq parameter (#48631)
* Update documentation for date_range(), bdate_range(), and interval_range() to include timedelta as a possible data type for the freq parameter * Add test case for date_range construction using datetime.timedelta
1 parent 41ec469 commit abdaea7

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

pandas/core/indexes/datetimes.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -966,7 +966,7 @@ def date_range(
966966
Right bound for generating dates.
967967
periods : int, optional
968968
Number of periods to generate.
969-
freq : str or DateOffset, default 'D'
969+
freq : str, datetime.timedelta, or DateOffset, default 'D'
970970
Frequency strings can have multiples, e.g. '5H'. See
971971
:ref:`here <timeseries.offset_aliases>` for a list of
972972
frequency aliases.
@@ -1163,7 +1163,7 @@ def bdate_range(
11631163
Right bound for generating dates.
11641164
periods : int, default None
11651165
Number of periods to generate.
1166-
freq : str or DateOffset, default 'B' (business daily)
1166+
freq : str, datetime.timedelta, or DateOffset, default 'B' (business daily)
11671167
Frequency strings can have multiples, e.g. '5H'.
11681168
tz : str or None
11691169
Time zone name for returning localized DatetimeIndex, for example

pandas/core/indexes/interval.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -969,7 +969,7 @@ def interval_range(
969969
Right bound for generating intervals.
970970
periods : int, default None
971971
Number of periods to generate.
972-
freq : numeric, str, or DateOffset, default None
972+
freq : numeric, str, datetime.timedelta, or DateOffset, default None
973973
The length of each interval. Must be consistent with the type of start
974974
and end, e.g. 2 for numeric, or '5H' for datetime-like. Default is 1
975975
for numeric and 'D' for datetime-like.

pandas/tests/indexes/datetimes/test_date_range.py

+7
Original file line numberDiff line numberDiff line change
@@ -432,6 +432,13 @@ def test_date_range_businesshour(self):
432432
rng = date_range("2014-07-04 09:00", "2014-07-08 16:00", freq="BH")
433433
tm.assert_index_equal(idx, rng)
434434

435+
def test_date_range_timedelta(self):
436+
start = "2020-01-01"
437+
end = "2020-01-11"
438+
rng1 = date_range(start, end, freq="3D")
439+
rng2 = date_range(start, end, freq=timedelta(days=3))
440+
tm.assert_index_equal(rng1, rng2)
441+
435442
def test_range_misspecified(self):
436443
# GH #1095
437444
msg = (

0 commit comments

Comments
 (0)