Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Python Pandas - Perform floor operation on the TimeDeltaIndex with hourly frequency
The TimeDeltaIndex.floor() method performs floor operation on TimeDeltaIndex, rounding down to the nearest specified frequency. For hourly frequency, use freq='H' parameter.
Creating a TimeDeltaIndex
First, let's create a TimeDeltaIndex object with various time durations ?
import pandas as pd
# Create a TimeDeltaIndex object with timedelta-like data
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'])
print("TimedeltaIndex...")
print(tdIndex)
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)
Floor Operation with Hourly Frequency
The floor operation rounds down each TimeDelta to the nearest hour ?
import pandas as pd
# Create TimeDeltaIndex
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'])
# Perform floor operation with hourly frequency
floor_result = tdIndex.floor(freq='H')
print("Floor operation with hourly frequency:")
print(floor_result)
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)
Complete Example
Here's a comprehensive example showing the original TimeDeltaIndex, its components, and the floor operation ?
import pandas as pd
# Create a TimeDeltaIndex object
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...")
print(tdIndex)
# Show the components breakdown
print("\nThe Dataframe of the components of TimeDeltas...")
print(tdIndex.components)
# Floor operation with hourly frequency
print("\nPerforming Floor operation with hourly frequency...")
print(tdIndex.floor(freq='H'))
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)
How It Works
The floor operation rounds down each time duration to the nearest hour boundary:
-
'5 days 08:20:00.000035045'becomes'5 days 08:00:00' -
'0 days 17:42:19.999999'becomes'0 days 17:00:00' -
'7 days 11:16:02.000055'becomes'7 days 11:00:00' -
'0 days 22:35:25.999999'becomes'0 days 22:00:00'
Conclusion
Use TimeDeltaIndex.floor(freq='H') to round down time durations to the nearest hour. This is useful for time-based grouping and analysis operations in data processing workflows.
Advertisements
