【发布时间】:2019-01-19 02:29:41
【问题描述】:
给定一个带有时间戳索引的 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]))
搜索太慢了。有什么办法可以改善吗?
【问题讨论】:
-
“搜索量太低” - 什么意思?太慢了?什么是“次要”索引?为什么是未成年人?你有多重索引吗?
-
太慢了,抱歉。
-
@DYZ 与我试图说我需要最接近的先前索引的次要索引。
-
@coldspeed 我会加的,谢谢
标签: python performance pandas search