我有一个形状文件
(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)