在2D数据上滑动窗口

时间:2017-06-01 16:25:44

标签: python-3.x numpy

我有一个形状文件

(97500, 91)

我需要使用长度为100且步长为100的滑动窗口切片此文件,所以我期待形状的输出

(975,100,91)

相反,我得到了

的形状
(876,100,91)

我是否期待错误,我的代码是正确的,反之亦然?

这是怎么做的

import scipy.io
import itertools as it
import numpy as np
data=scipy.io.loadmat('input file.mat')
x=data['header name']
x = x.reshape(91, -1)
x = np.transpose(x, (1,0))
print(x.shape) #(97500, 91)
def moving_window(x, length, step=100):
    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, 100))
X=np.asarray(X)
print(X.shape)#(876,100,91)

0 个答案:

没有答案