我有numpy数组[1 2 3 4 5 6 7 8 9 10 11 12]
。想要以3个重叠的大小6的子阵列进行划分CCD_ 2。
我想把它推广开来。假设我有一个一千大小的数组。我想得到大小为100,重叠50的子数组。
此外,重叠大小总是子阵列大小的一半。
试试这个:
>>> size = 6
>>> overlap = 3
>>> z = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
>>> zip(*[z[i:] for i in range(size)])[::overlap]
[(1, 2, 3, 4, 5, 6), (4, 5, 6, 7, 8, 9), (7, 8, 9, 10, 11, 12)]