Есть эти два массива:
a = np.array([
[
[1,2,3,0,0],
[4,5,6,0,0],
[7,8,9,0,0]
],
[
[1,3,5,0,0],
[2,4,6,0,0],
[1,1,1,0,0]
]
])
b = np.array([
[
[1,2],
[2,3],
[3,4]
],
[
[4,1],
[5,2],
[6,3]
]
])
с формами:
"a" shape: (2, 3, 5), "b" shape: (2, 3, 2)
Я хочу заменить последние два элемента из массива a
на элементы из массива b
, например
c = np.array([
[
[1,2,3,1,2],
[4,5,6,2,3],
[7,8,9,3,4]
],
[
[1,3,5,4,1],
[2,4,6,5,2],
[1,1,1,6,3]
]
])
Однако np.hstack((a[:,:,:-2], b))
выдает ошибку значения:
все размеры входного массива, кроме оси конкатенации, должны
точно соответствует
и вообще не похоже, что это правильная функция для использования. Добавить также не работает.
Есть ли в numpy метод, который может это сделать, или мне нужно перебирать массивы с помощью цикла for и манипулировать ими вручную?