Python Pandas - How to Round the TimeDeltaIndex with seconds frequency


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

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 seconds frequency. For seconds frequency, we have used 'S' −

print("\nPerforming round operation with seconds frequency...\n",
tdIndex.round(freq='S'))

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 seconds frequency
# For seconds frequency, we have used 'S'
print("\nPerforming round operation with seconds frequency...\n",
tdIndex.round(freq='S'))

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 seconds frequency...
TimedeltaIndex(['10 days 05:02:00', '0 days 22:39:20', '2 days 07:08:02',
'0 days 21:15:46'],
dtype='timedelta64[ns]', freq=None)

Updated on: 20-Oct-2021

79 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements