Объединить массив "поэлементно"
В настоящее время у меня есть два массива: форма a1 (5,4,6,3), второй a2 (5,4,6) и, наконец, я хочу получить объединенный массив (5,4,6,4))
В настоящее время я "для цикла" каждый (6,3) массив и np.stack его с соответствующими (6,1) - (6,4).
for i in range(a1.shape[0]):
for j in range(a1.shape[1]):
a = np.hstack((a1[i,j], a2[i,j].reshape(6,1)))
Однако, это не очень эффективно, если оно намного больше, чем 5*4.
У тебя есть способ получше?
1 ответ
Решение
Это то, что вы хотите?
import numpy as np
a1 = np.ones((5, 4, 6, 3))
a2 = np.ones((5, 4, 6))
result = np.concatenate((a1, a2[..., np.newaxis]), axis=-1)
print(result.shape)
(5, 4, 6, 4)