如何获取 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
有没有办法直接获取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