Создание перекрывающихся подмассивов с помощью stride_tricks

Я нашел приведенный ниже код, который создает перекрывающиеся подмассивы заданной длины. Он делает то, что я хочу, за исключением того, что он также меняет порядок элементов, чего я не хочу. Я не мог найти документацию по аргументам «shape» и «strides» и поэтому не знаю, как изменить это поведение. Как изменить строку 'out = …' так, чтобы элементы не были отменены?

import numpy as np x = np.array([2,3,1,0]) L = 3 # Row length strided = np.lib.stride_tricks.as_strided n = x.strides[0] out = strided(x[L-1:],shape=(x.size-L+1,L),strides=(n,-n)) print out 

вам необходимо сохранить все данные:

 out = strided(x,shape=(x.size-L+1,L),strides=(n,n)) 

Для

 [[2 3 1] [3 1 0]] 

strided не проверяет, что доступ находится в области, поэтому в случае ошибки все может случиться.