pandas.timedelta_range(start=None, end=None, periods=None, freq=None, name=None, closed=None)[source]

Return a fixed frequency TimedeltaIndex, with day as the default frequency.

startstr or timedelta-like, default None

Left bound for generating timedeltas.

endstr or timedelta-like, default None

Right bound for generating timedeltas.

periodsint, default None

Number of periods to generate.

freqstr or DateOffset, default ‘D’

Frequency strings can have multiples, e.g. ‘5H’.

namestr, default None

Name of the resulting TimedeltaIndex.

closedstr, default None

Make the interval closed with respect to the given frequency to the ‘left’, ‘right’, or both sides (None).



Of the four parameters start, end, periods, and freq, exactly three must be specified. If freq is omitted, the resulting TimedeltaIndex will have periods linearly spaced elements between start and end (closed on both sides).

To learn more about the frequency strings, please see this link.


>>> pd.timedelta_range(start='1 day', periods=4)
TimedeltaIndex(['1 days', '2 days', '3 days', '4 days'],
               dtype='timedelta64[ns]', freq='D')

The closed parameter specifies which endpoint is included. The default behavior is to include both endpoints.

>>> pd.timedelta_range(start='1 day', periods=4, closed='right')
TimedeltaIndex(['2 days', '3 days', '4 days'],
               dtype='timedelta64[ns]', freq='D')

The freq parameter specifies the frequency of the TimedeltaIndex. Only fixed frequencies can be passed, non-fixed frequencies such as ‘M’ (month end) will raise.

>>> pd.timedelta_range(start='1 day', end='2 days', freq='6H')
TimedeltaIndex(['1 days 00:00:00', '1 days 06:00:00', '1 days 12:00:00',
                '1 days 18:00:00', '2 days 00:00:00'],
               dtype='timedelta64[ns]', freq='6H')

Specify start, end, and periods; the frequency is generated automatically (linearly spaced).

>>> pd.timedelta_range(start='1 day', end='5 days', periods=4)
TimedeltaIndex(['1 days 00:00:00', '2 days 08:00:00', '3 days 16:00:00',
                '5 days 00:00:00'],
               dtype='timedelta64[ns]', freq=None)