我找到了下面的代码,它创建了给定长度的重叠子数组。它做我想做的事情,除了它还颠倒了我不想要的元素的顺序。我无法真正找到关于'形状'和'跨步'参数的文档,因此不知道如何改变这种行为。如何更改'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
答案 0 :(得分:1)
您需要保留所有数据:
out = strided(x,shape=(x.size-L+1,L),strides=(n,n))
有关
[[2 3 1]
[3 1 0]]
strided
不要检查访问是否在范围内,因此如果出现错误,一切都会发生。