Computer >> Máy Tính >  >> Lập trình >> Python

Python Pandas - Trả về vị trí chỉ mục của các giá trị tại thời điểm cụ thể trong ngày trong DateTimeIndex

Để trả về vị trí chỉ mục của các giá trị tại thời điểm cụ thể trong ngày trong DateTimeIndex, hãy sử dụng DateTimeIndex.indexer_at_time () phương pháp.

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import pandas as pd

Tạo DatetimeIndex với chu kỳ 5 và tần suất là T tức là phút -

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

Hiển thị DateTimeIndex -

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

Hiển thị vị trí chỉ mục của các giá trị tại thời điểm cụ thể trong ngày, tức là 03:10:50 tại đây -

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

Ví dụ

Sau đây là mã -

import pandas as pd

# DatetimeIndex with period 5 and frequency as T i.e. minutes
# The timezone is Australia/Adelaide
datetimeindex = pd.date_range('2021-10-30 02:30:50', periods=5, 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'))

Đầu ra

Điều này sẽ tạo ra mã sau -

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'],
dtype='datetime64[ns, Australia/Adelaide]', freq='20T')
DateTimeIndex frequency...
<20 * Minutes>

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