numpy数组切片,没有for循环

时间:2018-04-26 11:06:35

标签: python numpy

我有一个问题,如何从numpy数组生成切片数组。我可以用for循环来做,我想做的是:

def calc_matrix(arr, k): 
    x = np.zeros((len(arr) - k + 1, k))
    for i in range(len(arr) - k + 1):
        x[i, :] = arr[i: (i+k)]
    return x

1 个答案:

答案 0 :(得分:0)

你可以从<Modal>的Hankel矩阵中剪切出你想要的结果(以及任意的第二个参数;下面我们完全省略它,在这种情况下默认使用零):

arr

或者您可以使用http://scikit-image.org/docs/dev/api/skimage.util.html#skimage.util.view_as_windows