Python Pandas - Create a BusinessDay offset

To create a BusinessDay offset, use the pd.tseries.offsets.BusinessDay() method in Pandas. This offset allows you to add business days (excluding weekends) to datetime objects with optional time offsets.

Creating a BusinessDay Offset

BusinessDay is a DateOffset subclass that skips weekends when adding days ?

import datetime
import pandas as pd

# Create the BusinessDay Offset with additional time offset
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 7, hours = 7, minutes = 7))

print("BusinessDay Offset...\n", bdOffset)
BusinessDay Offset...
 <BusinessDay: offset=datetime.timedelta(days=7, seconds=25620)>

Applying BusinessDay Offset to Timestamp

Add the BusinessDay offset to a timestamp to get the next business day ?

import datetime
import pandas as pd

# Set the timestamp object in Pandas
timestamp = pd.Timestamp('2021-1-1 01:55:02.000045')
print("Original Timestamp...\n", timestamp)

# Create the BusinessDay Offset
bdOffset = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 7, hours = 7, minutes = 7))

# Apply the offset
updated_timestamp = timestamp + bdOffset
print("\nUpdated Timestamp...\n", updated_timestamp)
Original Timestamp...
 2021-01-01 01:55:02.000045

Updated Timestamp...
 2021-01-11 09:02:02.000045

Simple BusinessDay Offset

You can also create a simple BusinessDay offset without additional time components ?

import pandas as pd

# Simple BusinessDay offset (1 business day)
simple_offset = pd.tseries.offsets.BusinessDay()
print("Simple BusinessDay Offset:", simple_offset)

# Multiple business days
multi_offset = pd.tseries.offsets.BusinessDay(2)
print("2 BusinessDay Offset:", multi_offset)

# Apply to a Friday timestamp
friday = pd.Timestamp('2021-1-1')  # This is a Friday
print("\nFriday:", friday)
print("Friday + 1 BusinessDay:", friday + simple_offset)
print("Friday + 2 BusinessDays:", friday + multi_offset)
Simple BusinessDay Offset: <BusinessDay>
2 BusinessDay Offset: <2 * BusinessDays>

Friday: 2021-01-01 00:00:00
Friday + 1 BusinessDay: 2021-01-04 00:00:00
Friday + 2 BusinessDays: 2021-01-05 00:00:00

Key Parameters

The BusinessDay() offset accepts several useful parameters ?

Parameter Description Example
n Number of business days BusinessDay(3)
offset Additional timedelta offset offset=timedelta(hours=2)
holidays List of holiday dates to exclude holidays=['2021-01-01']

Conclusion

BusinessDay offset is useful for financial and business applications where weekends should be skipped. Use the offset parameter to add additional time components beyond just days.

Updated on: 2026-03-26T18:07:36+05:30

279 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements