给定一个带有时间戳索引的 pandas 数据帧,已排序。我有一个标签,我需要找到最接近该标签的索引。另外,我需要找到一个较小的时间戳,因此应该在较小的时间戳中计算搜索。这是我的代码:
import pandas as pd
import datetime
data = [i for i in range(100)]
dates = pd.date_range(start="01-01-2018", freq="min", periods=100)
dataframe = pd.DataFrame(data, dates)
label = "01-01-2018 00:10:01"
method = "pad"
tol = datetime.timedelta(seconds=60)
idx = dataframe.index.get_loc(key=label, method="pad", tolerance=tol)
print("Closest idx:"+str(idx))
print("Closest date:"+str(dataframe.index[idx]))
搜索太慢了。有没有办法改进它?