Dateoffsets are a standard kind of date increment used for a date range in Pandas. It works exactly like relativedelta in terms of the keyword args we pass in. DateOffsets work as follows, each offset specify 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 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.BusinessDay.rollback() function rolls the provided date backward to next offset only if not on offset.
Syntax: pandas.tseries.offsets.BusinessDay.rollback(dt) Parameter : dt : dt Returns : Timestamp
Example #1: Use pandas.tseries.offsets.BusinessDay.rollback() function to roll the provided date backward to next offset if not on the offset.Â
Python3
# importing pandas as pdimport pandas as pdÂ
# Creating Timestampts = pd.Timestamp('2019-10-10 07:15:11')Â
# Create an offset of 5 Business daysbd = pd.tseries.offsets.BusinessDay(n = 5)Â
# Print the Timestampprint(ts)Â
# Print the DateOffsetprint(bd) |
Output : 

Python3
# Adding the Business day offset to the given timestampnew_timestamp = ts + bdÂ
# Print the updated timestampprint(new_timestamp)Â
# roll the provided date backward # if not on the offsetdate = bd.rollback(dt = pd.to_datetime('2010-02-13'))Â
# print the dateprint(date) |
Output : 

Python3
# importing pandas as pdimport pandas as pdÂ
# Creating Timestampts = pd.Timestamp('2019-10-10 07:15:11')Â
# Create an offset of 10 Business days and 10 hoursbd = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 10, hours = 10))Â
# Print the Timestampprint(ts)Â
# Print the DateOffsetprint(bd) |
Output : 

Python3
# Adding the Business day offset to the given timestampnew_timestamp = ts + bdÂ
# Print the updated timestampprint(new_timestamp)Â
# roll the provided date backward if not# on the offsetdate = bd.rollback(dt = pd.to_datetime('2010-02-13'))Â
# print the dateprint(date) |
Output : 

