我是python的新手,旨在将多个不规则时间序列对准一个规则对象。我仅在一个时间序列上尝试过这种简单的实现,其中dts
是常规日期时间数组(包括时区),mydates
包含不规则日期(相似类型),myts
存储不规则数据值:
regts = [None] * len(dts)
for j in range(len(mydates)):
idx = dts.index(mydates[j])
regts[idx] = myts[j]
速度最长可达1000,但是由于数据集的大小,速度变得非常慢。我确信有很多有效的方法。
答案 0 :(得分:1)
进行线性扫描的dts.index()
将产生二次缺陷,长度超过1000会很痛苦。这是嵌套在外部循环中的循环。
通过列表理解涵盖源数据,生成大量元组,然后对其进行排序以生成所需的时间序列。
如果
for stamp, value in mytimeseries:
print(stamp, value)
显示您的综合时间序列,然后sorted(mytimeseries)
是所需的结果。