pyspark.pandas.timedelta_range(start: Union[str, Any] = None, end: Union[str, Any] = None, periods: Optional[int] = None, freq: Union[str, pandas._libs.tslibs.offsets.DateOffset, None] = None, name: Optional[str] = None, closed: Optional[str] = None) → pyspark.pandas.indexes.timedelta.TimedeltaIndex[source]

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

startstr or timedelta-like, optional

Left bound for generating timedeltas.

endstr or timedelta-like, optional

Right bound for generating timedeltas.

periodsint, optional

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.

closed{None, ‘left’, ‘right’}, optional

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



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.


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

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

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

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.

>>> ps.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=None)

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

>>> ps.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)