Вы можете вырезать желаемый результат из матрицы Ханкеля arr
(и произвольного второго параметра; ниже мы опускаем его полностью, в этом случае по умолчанию используются нули):
>>> import numpy as np
>>> from scipy import linalg
>>>
>>> arr = np.arange(10)**2 % 7 ## just a random example
>>> arr
array([0, 1, 4, 2, 2, 4, 1, 0, 1, 4])
>>> k = 4
>>> linalg.hankel(arr)[:arr.size-k+1, :k]
array([[0, 1, 4, 2],
[1, 4, 2, 2],
[4, 2, 2, 4],
[2, 2, 4, 1],
[2, 4, 1, 0],
[4, 1, 0, 1],
[1, 0, 1, 4]])
Или вы можете использовать http://scikit -image.org / docs / dev / api / skimage.util.html # skimage.util.view_as_windows .