Python Pandas - How to Round the TimeDeltaIndex with hourly frequency

PythonServer Side ProgrammingProgramming

To round the TimeDeltaIndex with hourly frequency, use the TimeDeltaIndex.round() method. For hourly frequency, use the freq parameter with value ‘H’.

At first, import the required libraries −

import pandas as pd

Create a TimeDeltaIndex object. We have set the timedelta-like data using the 'data' parameter −

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

Display TimedeltaIndex −

print("TimedeltaIndex...
", tdIndex)

Round operation on TimeDeltaIndex date with hourly frequency. For hourly frequency, we have used 'H' −

print("
Performing round operation with hourly frequency...
", tdIndex.round(freq='H'))

Example

Following is the code −

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# display TimedeltaIndex
print("TimedeltaIndex...
", tdIndex) # Return a dataframe of the components of TimeDeltas print("
The Dataframe of the components of TimeDeltas...
", tdIndex.components) # Round operation on TimeDeltaIndex date with hourly frequency # For hourly frequency, we have used 'H' print("
Performing round operation with hourly frequency...
", tdIndex.round(freq='H'))

Output

This will produce the following code −

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
   days  hours minutes seconds milliseconds microseconds nanoseconds
0   10     5      2      0         0           3            10
1    0    22     39     19       999         999             0
2    2     7      8      2         0          45             0
3    0    21     15     45       999         999             0

Performing round operation with hourly frequency...
TimedeltaIndex(['10 days 05:00:00', '0 days 23:00:00', '2 days 07:00:00',
'0 days 21:00:00'],
dtype='timedelta64[ns]', freq=None)
raja
Updated on 20-Oct-2021 08:58:35

Advertisements