我在 python 3.5 上有一个滑动窗口,它用于长时间序列数据,到目前为止我有很好的结果,但我只需要确定我的滑动窗口是否正常工作。所以我决定尽可能测试一个简单的数据在这里看到。
import numpy as np
import itertools as it
x=[1,2,3,4,5,6,7,8,9]
def moving_window(x, length, step=1):
streams = it.tee(x, length)
return zip(*[it.islice(stream, i, None, step) for stream, i in zip(streams, it.count(step=step))])
x_=list(moving_window(x, 3))
x_=np.asarray(x_)
print(x_)
我的打印结果是
我希望我的输出看起来像
所以我尝试将步骤设置为 3,但我得到了
看起来步骤也出现在幻灯片内容中,而不仅仅是在幻灯片之间,我怎样才能得到我想要的结果?
最佳答案
import numpy as np
import itertools as it
x=[1,2,3,4,5,6,7,8,9]
def moving_window(x, length, step=1):
streams = it.tee(x, length)
return zip(*[it.islice(stream, i, None, step*length) for stream, i in zip(streams, it.count(step=step))])
x_=list(moving_window(x, 3))
x_=np.asarray(x_)
print(x_)
你需要有
it.islice(stream, i, None, step*length)
你想要的输出关于python - 时间序列数据上的滑动窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44790072/