У меня есть такой массив:
A = array([1,2,3,4,5,6,7,8,9,10])
И я пытаюсь получить такой массив:
B = array([[1,2,3],
[2,3,4],
[3,4,5],
[4,5,6]])
Где каждая строка (фиксированной произвольной ширины) смещается на единицу. Массив A составляет 10k записей, и я пытаюсь найти эффективный способ сделать это в Numpy. В настоящее время я использую vstack и цикл for, который медленный. Есть ли более быстрый способ?
Edit:
width = 3 # fixed arbitrary width
length = 10000 # length of A which I wish to use
B = A[0:length + 1]
for i in range (1, length):
B = np.vstack((B, A[i, i + width + 1]))