DOC: Update documentation for date_range(), bdate_range(), and interval_range() to include timedelta as a possible data type for the freq parameter by gandhis1 · Pull Request #48631 · pandas-dev/pandas (original) (raw)

This PR simply documents behavior that was already allowed, and was already properly documented on the underlying function to_offset().

In [1]: import pandas as pd                                                                                                                                                          

In [2]: from datetime import date, timedelta                                                                                                                                         

In [3]: start = date(2022, 1, 1)                                                                                                                                                     

In [4]: end = date(2022, 1, 11)                                                                                                                                                      

In [5]: pd.date_range(start, end, freq=timedelta(days=2))                                                                                                                            
Out[5]: 
DatetimeIndex(['2022-01-01', '2022-01-03', '2022-01-05', '2022-01-07',
               '2022-01-09', '2022-01-11'],
              dtype='datetime64[ns]', freq='2D')

In [6]: pd.bdate_range(start, end, freq=timedelta(days=2))                                                                                                                           
Out[6]: 
DatetimeIndex(['2022-01-01', '2022-01-03', '2022-01-05', '2022-01-07',
               '2022-01-09', '2022-01-11'],
              dtype='datetime64[ns]', freq='2D')

In [7]: start = pd.Timestamp(start)                                                                                                                                  

In [8]: end = pd.Timestamp(end)                                                                                                                                     

In [9]: pd.interval_range(start, end, freq=timedelta(days=2))                                                                                                       
Out[9]: IntervalIndex([(2022-01-01, 2022-01-03], (2022-01-03, 2022-01-05], (2022-01-05, 2022-01-07], (2022-01-07, 2022-01-09], (2022-01-09, 2022-01-11]], dtype='interval[datetime64[ns], right]')