Python Pandas - Return index locations of values between particular time of day including start time in DateTimeIndex


To return index locations of values between particular time of day in DateTimeIndex, use the DateTimeIndex.indexer_between_time() method. Set the include_start parameter to True for including the start time.

At first, import the required libraries −

import pandas as pd

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

datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=7, tz='Australia/Adelaide', freq='20T')

Display DateTimeIndex −

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

Display index locations of values between particular time of day. The "start_time" is set '02:30:50' and "end_time" '03:20:50'. Set include_start parameter to True −

print("\nIndex locations of values between particular time of day...\n",
datetimeindex.indexer_between_time('03:10:50','03:50:50', include_start = True))

Example

Following is the code −

import pandas as pd

# DatetimeIndex with period 7 and frequency as T i.e. minutes
# The timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=7, tz='Australia/Adelaide', freq='20T')

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

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

# display index locations of values at particular time of day i.e. 03:10:50 here
print("\nIndex locations of values at particular time of day...\n",
datetimeindex.indexer_at_time('2021-10-30 03:10:50'))

# display index locations of values between particular time of day
# The "start_time" is set '02:30:50' and "end_time" '03:20:50'
print("\nIndex locations of values between particular time of day...\n",
datetimeindex.indexer_between_time('03:10:50','03:50:50', include_start = True))

Output

This will produce the following code −

DateTimeIndex...
DatetimeIndex(['2021-10-30 02:30:50+10:30', '2021-10-30 02:50:50+10:30',
'2021-10-30 03:10:50+10:30', '2021-10-30 03:30:50+10:30',
'2021-10-30 03:50:50+10:30', '2021-10-30 04:10:50+10:30',
'2021-10-30 04:30:50+10:30'],
dtype='datetime64[ns, Australia/Adelaide]', freq='20T')
DateTimeIndex frequency...
<20 * Minutes>

Index locations of values at particular time of day...
[2]

Index locations of values between particular time of day...
[2 3 4]

Updated on: 18-Oct-2021

58 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements