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 a 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.CustomBusinessDay.rollforward() function roll provided date forward to next offset only if not on offset.
Syntax: pandas.tseries.offsets.CustomBusinessDay.rollforward(dt) Parameter : dt : date Returns : rollforward if not on offset
Example #1: Use pandas.tseries.offsets.CustomBusinessDay.rollforward() function to roll forward the given timestamp if it is not on offset.
# importing pandas as pd import pandas as pd
# Creating Timestamp ts = pd.Timestamp( '2019-4-23 11:15:00' )
# Create an offset cbd = pd.tseries.offsets.CustomBusinessDay(weekmask = 'Mon Tue Wed' )
# Print the Timestamp print (ts)
# Print the Offset print (cbd)
|
Output :
# Adding the offset to the given timestamp new_timestamp = ts + cbd
# Print the updated timestamp print (new_timestamp)
# roll forward if the given timestamp # is not on offset result = cbd.rollforward(pd.Timestamp( '2019-4-21 11:15:00' ))
# print the result print (result)
|
Output :
# importing pandas as pd import pandas as pd
# Creating Timestamp ts = pd.Timestamp( '2019-4-23 11:15:00' )
# Create an offset cbd = pd.tseries.offsets.CustomBusinessDay(n = 3 , weekmask = 'Mon Tue Wed Thu' )
# Print the Timestamp print (ts)
# Print the Offset print (cbd)
|
Output :
# Adding the offset to the given timestamp new_timestamp = ts + cbd
# Print the updated timestamp print (new_timestamp)
# roll forward if the given timestamp # is not on offset result = cbd.rollforward(pd.Timestamp( '2019-4-21 11:15:00' ))
# print the result print (result)
|
Output :