Python Pandas - How to Round the TimeDeltaIndex with hourly frequency


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...\n", tdIndex)

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

print("\nPerforming round operation with hourly frequency...\n",
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...\n", tdIndex)

# Return a dataframe of the components of TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# Round operation on TimeDeltaIndex date with hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming round operation with hourly frequency...\n",
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)

Updated on: 20-Oct-2021

90 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements