二维numpy数组上的滑动窗口

时间:2018-07-19 21:49:27

标签: python-3.x numpy

我有一个64x64 numpy数组,并且我有一个5x64窗口。我想以步长1在主numpy数组上滑动此窗口,并将该窗口中的值保存在空numpy数组的列中。

谢谢

1 个答案:

答案 0 :(得分:1)

正像您在注释中所说的那样,使用数组索引并逐步进行迭代。创建一个列表(在我的情况下为a)来保存您的分段窗口(window)。最后,使用np.hstack来连接它们。

import numpy as np 

yourArray = np.random.randn(64,64)        # just an example
winSize = 5

a = []                                    # a python list to hold the windows
for i in range(0, yourArray.shape[0]-winSize+1):
    window = yourArray[i:i+winSize,:].reshape((-1,1)) # each individual window
    a.append(window)

result = np.hstack(a)