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.BusinessHour.next_bday function is used for moving to next business day.
Syntax: pandas.tseries.offsets.BusinessHour.next_bday Parameter : None Returns : offset
Example #1: Use pandas.tseries.offsets.BusinessHour.next_bday function to move the given timestamp to next business day.
Python3
# importing pandas as pd import pandas as pd # Creating Timestamp ts = pd.Timestamp( '2019-10-10 07:15:11' ) # Create an offset of 5 Business hours bh = pd.tseries.offsets.BusinessHour(n = 5 ) # Print the Timestamp print (ts) # Print the Offset print (bh) |
Output : Now we will add the Business hour offset to the given timestamp object to increment the datetime value. We will also move the given timestamp to the next business day.
Python3
# Adding the Business hour offset to the given timestamp new_timestamp = ts + bh # Print the updated timestamp print (new_timestamp) # Move the timestamp to next # business day result = ts + bh.next_bday # Print the result print (result) |
Output : As we can see in the output, we have successfully created an offset of 5 Business hours and added it to the given timestamp. We have also moved the given timestamp to the next business day. Example #2: Use pandas.tseries.offsets.BusinessHour() function to create an offset of 10 days and 5 Business hours.
Python3
# importing pandas as pd import pandas as pd # Creating Timestamp ts = pd.Timestamp( '2019-10-10 07:15:11' ) # Create an offset bh = pd.tseries.offsets.BusinessHour(offset = datetime.timedelta(days = 10 , hours = 10 )) # Print the Timestamp print (ts) # Print the Offset print (bh) |
Output : Now we will add the Business hour offset to the given timestamp object to increment the datetime value. We will also move the given timestamp to the next business day.
Python3
# Adding the Business hour offset to the given timestamp new_timestamp = ts + bh # Print the updated timestamp print (new_timestamp) # Move the timestamp to next # business day result = ts + bh.next_bday # Print the result print (result) |
Output : Note : Even though we have passed 10 days to the function, notice how the business hour value is wrapping around. As we can see in the output, we have successfully created an offset and added it to the given timestamp. We have also moved the given timestamp to the next business day.