Мой код:
x=np.linspace(1,5,5)
a=np.insert(x,np.arange(1,5,1),np.zeros(3))
Я хочу получить следующий результат:
[1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5]
Я получаю следующее сообщение об ошибке:
ValueError: shape mismatch: value array of shape (3,) could not be broadcast to indexing result of shape (4,)
Когда я делаю:
x=np.linspace(1,5,5)
a=np.insert(x,np.arange(1,5,1),0)
Выход:
array([1., 0., 2., 0., 3., 0., 4., 0., 5.])
Почему не работает, когда я пытаюсь вставить массив?
P.S. Я не могу использовать петли






Другой вариант:
np.hstack((x[:,None], np.zeros((5,3)))).flatten()[:-3]
дает:
array([ 1., 0., 0., 0., 2., 0., 0., 0., 3., 0., 0., 0., 4.,
0., 0., 0., 5.])
То есть, представьте, что x - это вектор-столбец, и сложите блок нулей 5x3 справа от него, а затем сгладьте.