Divaker padded x
N = 4
x_ext = np.concatenate((x,[None]*(N-1)))
, None ( ) np.nan ( float) .
:
idx = np.r_[0,np.arange(N)] + np.arange(x_ext.size-N+1)[:,None]
array([[ 0, 0, 1, 2, 3],
[ 1, 1, 2, 3, 4],
[ 2, 2, 3, 4, 5],
[ 3, 3, 4, 5, 6],
[ 4, 4, 5, 6, 7],
...
x_ext[idx]
================
.
as_strided = np.lib.stride_tricks.as_strided
arr2D = as_strided(x_ext, shape=(15,4), strides=(4,4))
as_strided. shape - - ( ) (x.shape[0],N).
In [177]: x_ext.strides
Out[177]: (4,)
1d 4 . 2d 3 , 12 - 3 * 4 (3 ).
In [181]: x_ext.reshape(6,3).strides
Out[181]: (12, 4)
strides=(4,4) , 4 , .
as_strided(x_ext,shape=(8,4),strides=(8,4))
2
array([[58, 56, 54, 52],
[54, 52, 50, 48],
[50, 48, 46, 44],
[46, 44, 42, 40],
....
as_strided , , . , None . , , C, .
as_strided - ( ). . column_stack x , .