Python Pandas - Perform floor operation on the TimeDeltaIndex with hourly frequency



To perform floor operation on the TimeDeltaIndex with hourly frequency, use the TimeDeltaIndex.floor() 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 =['5 day 8h 20min 35us 45ns', '+17:42:19.999999',
'7 day 3h 08:16:02.000055', '+22:35:25.999999'])

Display TimedeltaIndex −

print("TimedeltaIndex...\n", tdIndex)

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

print("\nPerforming Floor operation with hourly frequency...\n",
tdIndex.floor(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 =['5 day 8h 20min 35us 45ns', '+17:42:19.999999',
'7 day 3h 08:16:02.000055', '+22:35:25.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)

# Floor operation on TimeDeltaIndex date with hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming Floor operation with hourly frequency...\n",
tdIndex.floor(freq='H'))

Output

This will produce the following code −

TimedeltaIndex...
TimedeltaIndex(['5 days 08:20:00.000035045', '0 days 17:42:19.999999',
'7 days 11:16:02.000055', '0 days 22:35:25.999999'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
  days hours minutes seconds milliseconds microseconds nanoseconds
0   5    8       20      0           0            35         45
1   0   17       42     19         999           999          0
2   7   11       16      2           0            55          0
3   0   22       35     25         999           999          0
 
Performing Floor operation with hourly frequency...
TimedeltaIndex(['5 days 08:00:00', '0 days 17:00:00', '7 days 11:00:00',
'0 days 22:00:00'],
dtype='timedelta64[ns]', freq=None)

Advertisements