На самом деле, ваш вопрос все еще сбивает меня с толку. Как вы определяете новое значение, которое вы хотите вставить в новую позицию? Это происходит снаружи вашего кода? У вас есть все новые значения для вашего массива или только его часть?
Возможно, вы можете использовать срезы в numpy
, которые предназначены именно для быстрого обновления массива, однако я не совсем уверен, что это то, что вы хотите сделать.
Некоторые образцы для вас:
>>> import numpy as np
>>> a = np.zeros(shape=(10,))
>>> a
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> a[3:6] += 1
>>> a
array([0., 0., 0., 1., 1., 1., 0., 0., 0., 0.])
>>> a[:4] += .001
>>> a
array([1.000e-03, 1.000e-03, 1.000e-03, 1.001e+00, 1.000e+00, 1.000e+00,
0.000e+00, 0.000e+00, 0.000e+00, 0.000e+00])
>>> a[3:5] = [2, 1]
>>> a
array([1.e-03, 1.e-03, 1.e-03, 2.e+00, 1.e+00, 1.e+00, 0.e+00, 0.e+00,
0.e+00, 0.e+00])
>>>