- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Python Pandas CustomBusinessHour - Roll provided date forward to next offset only if not on offset
To roll provided date forward to next offset only if not on offset, use the CustomBusinessHour.rollforward() method in Pandas.
At first, import the required libraries −
import pandas as pd
Set the timestamp object in Pandas −
timestamp = pd.Timestamp('2021-12-20 08:35:10')
Create the CustomBusinessHour Offset. CustomBusinessHour is the DateOffset subclass. Weekmask of valid business days −
cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri')
Add the offset to the Timestamp and display the Updated Timestamp −
print("\nUpdated Timestamp...\n",timestamp + cbhOffset)
Roll forward if not on offset −
roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10'))
Display the result −
print("\nRoll forward Result...\n",roll)
Example
Following is the code −
import pandas as pd # Set the timestamp object in Pandas timestamp = pd.Timestamp('2021-12-20 08:35:10') # Display the Timestamp print("Timestamp...\n",timestamp) # Create the CustomBusinessHour Offset # CustomBusinessHour is the DateOffset subclass # Weekmask of valid business days cbhOffset = pd.tseries.offsets.CustomBusinessHour(n = 5, weekmask = 'Mon Tue Wed Fri') # Display the CustomBusinessHour Offset print("\nCustomBusinessHour Offset...\n",cbhOffset) # Add the offset to the Timestamp and display the Updated Timestamp print("\nUpdated Timestamp...\n",timestamp + cbhOffset) # roll forward if not on offset roll = cbhOffset.rollforward(pd.Timestamp('2021-12-30 08:35:10')) # display the result print("\nRoll forward Result...\n",roll)
Output
This will produce the following code −
Timestamp... 2021-12-20 08:35:10 CustomBusinessHour Offset... <5 * CustomBusinessHours: CBH=09:00-17:00> Updated Timestamp... 2021-12-20 14:00:00 Roll forward Result... 2021-12-31 09:00:00
Advertisements