Python Pandas - How to Round the DateTimeIndex with hourly frequency

PythonServer Side ProgrammingProgramming

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

At first, import the required libraries −

import pandas as pd

Create a DatetimeIndex with period 5 and frequency as T i.e. minutes −

datetimeindex = pd.date_range('2021-09-29 07:00', periods=5, tz='Australia/Adelaide', freq='35T')

Display DateTimeIndex −

print("DateTimeIndex...\n", datetimeindex)

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

print("\nPerforming round operation with hourly frequency...\n",
datetimeindex.round(freq='H'))

Example

Following is the code −

import pandas as pd

# DatetimeIndex with period 5 and frequency as T i.e. minutes
# timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-09-29 07:00', periods=5, tz='Australia/Adelaide', freq='35T')

# display
print("DateTimeIndex...\n", datetimeindex)

# getting the hour
res = datetimeindex.hour
# display only the hour
print("\nThe hour from DateTimeIndex...\n", res)

# Round operation on DateTimeIndex date with hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming round operation with hourly frequency...\n",
datetimeindex.round(freq='H'))

Output

This will produce the following code −

DateTimeIndex...
DatetimeIndex(['2021-09-29 07:00:00+09:30', '2021-09-29 07:35:00+09:30',
'2021-09-29 08:10:00+09:30', '2021-09-29 08:45:00+09:30',
'2021-09-29 09:20:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='35T')

The hour from DateTimeIndex...
Int64Index([7, 7, 8, 8, 9], dtype='int64')

Performing round operation with hourly frequency...
DatetimeIndex(['2021-09-29 07:00:00+09:30', '2021-09-29 08:00:00+09:30',
'2021-09-29 08:00:00+09:30', '2021-09-29 09:00:00+09:30',
'2021-09-29 09:00:00+09:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq=None)
raja
Updated on 18-Oct-2021 13:12:12

Advertisements