Python | Pandas tseries.offsets.DateOffset (original) (raw)

Last Updated : 11 Jul, 2025

**Dateoffsets are a standard kind of date increment used for a date range in Pandas. It works exactly like relative delta in terms of the keyword args we pass in. DateOffsets work as follows, each offset specifies a set of dates that conform to the DateOffset. For example, _Bday defines this set to be the set of dates that are weekdays (M-F). DateOffsets can be created to move dates forward a given number of valid dates. For example, _Bday(2) can be added to the date to move it two business days forward. If the date does not start on a valid date, first it is moved to a valid date and then offset is created.

Pandas tseries.offsets.DateOffset is used to create a standard kind of date increment used for a date range.

Python Pandas tseries.offsets.DateOffset Syntax

Below is the syntax by which we can use DateOffset objects in Pandas.

**Syntax:
pandas.tseries.offsets.DateOffset(n=1, normalize=False, **kwds)

**Parameters:

**Returns : DateOffsets

Pandas tseries.offsets.DateOffset Examples

Below are the examples by which we can use Pandas tseries.offsets DateOffset objects in Pandas in Python:

**Example 1: Create Dateoffsets of 2 Days

In this example, we will create DateOffsetss objects in Pandas of 2 days using pandas.tseries.offsets.DateOffset() function.

Python3 `

importing pandas as pd

import pandas as pd

Creating Timestamp

ts = pd.Timestamp('2019-10-10 07:15:11')

Create the DateOffset

do = pd.tseries.offsets.DateOffset(n=2)

Print the Timestamp

print(ts)

Print the DateOffset

print(do)

`

**Output :

2019-10-10 07:15:11
<2 * DateOffsets>

Now we will add the dateoffset to the given timestamp object to create an offset of 2 days from the given date.

Python3 `

Adding the dateoffset to the given timestamp

new_timestamp = ts + do

Print the updated timestamp

print(new_timestamp)

`

**Output :

2019-10-12 07:15:11

As we can see in the output, we have successfully created an offset of 2 days and added it to the given timestamp object to move the date forward by 2 days.

**Example 2: Create DateOffsets of 10 Days and 2 Hours Using DateOffset Objects in Python

In this example, we will create DateOffsets of 10 Days and 2 Hours using DateOffset Objects in Python.

Python3 `

importing pandas as pd

import pandas as pd

Creating Timestamp

ts = pd.Timestamp('2019-10-10 07:15:11')

Create the DateOffset

do = pd.tseries.offsets.DateOffset(days = 10, hours = 2)

Print the Timestamp

print(ts)

Print the DateOffset

print(do)

`

**Output :

2019-10-10 07:15:11
<DateOffset: days=10, hours=2>

Now we will add the dateoffset to the given timestamp object to create an offset of 10 days and 2 hours from the given date.

Python3 `

Adding the dateoffset to the given timestamp

new_timestamp = ts + do

Print the updated timestamp

print(new_timestamp)

`

**Output :

2019-10-20 09:15:11

As we can see in the output, we have successfully created an offset of 10 days and 2 hours and added it to the given timestamp object to move the date forward by 10 days and 2 hours.

Example 3: **Subtracting Months from a Date

In this example****, a** certain number of months are subtracted from a date using the DateOffset functionality.

Python3 `

import pandas as pd

date = pd.Timestamp('2023-12-22') offset = pd.DateOffset(months=-2) new_date = date + offset print(new_date)

`

**Output:

Subtracting Months from a Date: 2023-10-22 00:00:00

Example 4: **Applying the Offset to a Series

In this example****, a** sequence of dates is shifted forward or backward by a set number of days using the DateOffset mechanism.

Python3 `

import pandas as pd

dates = pd.date_range('2023-12-20', periods=5, freq='D') offset = pd.DateOffset(days=3) new_dates = dates + offset print(new_dates)

`

**Output:

Applying the Offset to a Series:
DatetimeIndex(['2023-12-23', '2023-12-24', '2023-12-25', '2023-12-26',
'2023-12-27'],
dtype='datetime64[ns]', freq=None)

Example 5: **Using Custom Frequency

In this example****, a** specific date is determined by adding a combination of weeks and days to a starting date using the DateOffset.

Python3 `

import pandas as pd

date = pd.Timestamp('2023-12-22')

2 weeks and 3 days

offset = pd.DateOffset(weeks=2, days=3)
new_date = date + offset print(new_date)

`

**Output:

Using Custom Frequency: 2024-01-08 00:00:00