在多列规则时间序列中对齐多个不规则时间序列的有效方法

时间:2018-12-08 11:36:25

标签: python-3.x python-datetime

我是python的新手,旨在将多个不规则时间序列对准一个规则对象。我仅在一个时间序列上尝试过这种简单的实现,其中dts是常规日期时间数组(包括时区),mydates包含不规则日期(相似类型),myts存储不规则数据值:

    regts = [None] * len(dts)
    for j in range(len(mydates)):
        idx = dts.index(mydates[j])
        regts[idx] = myts[j]

速度最长可达1000,但是由于数据集的大小,速度变得非常慢。我确信有很多有效的方法。

1 个答案:

答案 0 :(得分:1)

进行线性扫描的dts.index()将产生二次缺陷,长度超过1000会很痛苦。这是嵌套在外部循环中的循环。

通过列表理解涵盖源数据,生成大量元组,然后对其进行排序以生成所需的时间序列。

如果

for stamp, value in mytimeseries:
    print(stamp, value)

显示您的综合时间序列,然后sorted(mytimeseries)是所需的结果。