I have a NumPy array [1,2,3,4,5,6,7,8,9,10,11,12,13,14] and want to have an array structured like [[1,2,3,4], [2,3,4,5], [3,4,5,6], ..., [11,12,13,14]]
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]
[[1,2,3,4], [2,3,4,5], [3,4,5,6], ..., [11,12,13,14]]
Quick&dirty solution:
>>> a = numpy.arange(1,15) >>> numpy.array([ a[i:i+4] for i in range(len(a)-3) ]) array([[ 1, 2, 3, 4], [ 2, 3, 4, 5], [ 3, 4, 5, 6], [ 4, 5, 6, 7], [ 5, 6, 7, 8], [ 6, 7, 8, 9], [ 7, 8, 9, 10], [ 8, 9, 10, 11], [ 9, 10, 11, 12], [10, 11, 12, 13], [11, 12, 13, 14]])