如何获取 pandas DateTimeIndex 中的日期时间索引?

How to get index of datetime within a pandas DateTimeIndex?

有没有办法直接获取DateTimeIndex中某个datetime的索引?

我有以下玩具示例代码,在我将 DateTimeIndex 转换为 list 后,它可以执行我想要的操作。

import pandas as pd
import datetime

year = 2020
minutesStep = 10
dateTimeStr = "2020-01-01 00:40:00"

datesTimes = pd.date_range(start='1/1/'+str(year), end='1/1/'+str(year+1), freq=str(minutesStep)+'min')
dateTimeObj = datetime.datetime.strptime(dateTimeStr, '%Y-%m-%d %H:%M:%S')

l = datesTimes.tolist()
i = l.index(dateTimeObj)
print i
print datesTimes[i]

这会输出预期的结果:

>>> 
4
2020-01-01 00:40:00

但是我想直接从 DateTimeIndex 获取索引。这可能吗?

可以使用 get_loc 函数在 pandas DateTimeIndex 中获取特定 datetime 的索引,如下所示:

j = datesTimes.get_loc(dateTimeObj)
print j
print datesTimes[j]

哪个输出和预期的一样:

>>> 
4
2020-01-01 00:40:00