np.concatenate un tensor / matriz ND con una matriz 1D
Tengo dos matrices a y b
a.shape
(5, 4, 3)
array([[[ 0. , 0. , 0. ],
[ 0. , 0. , 0. ],
[ 0. , 0. , 0. ],
[ 0.10772717, 0.604584 , 0.41664413]],
[[ 0. , 0. , 0. ],
[ 0. , 0. , 0. ],
[ 0.10772717, 0.604584 , 0.41664413],
[ 0.95879616, 0.85575133, 0.46135877]],
[[ 0. , 0. , 0. ],
[ 0.10772717, 0.604584 , 0.41664413],
[ 0.95879616, 0.85575133, 0.46135877],
[ 0.70442301, 0.74126523, 0.88965603]],
[[ 0.10772717, 0.604584 , 0.41664413],
[ 0.95879616, 0.85575133, 0.46135877],
[ 0.70442301, 0.74126523, 0.88965603],
[ 0.8039435 , 0.62802183, 0.58885027]],
[[ 0.95879616, 0.85575133, 0.46135877],
[ 0.70442301, 0.74126523, 0.88965603],
[ 0.8039435 , 0.62802183, 0.58885027],
[ 0.95848603, 0.72429311, 0.71461332]]])
y B
array([ 0.79212707, 0.66629398, 0.58676553], dtype=float32)
b.shape
(3,)
Quiero obtener una matriz
ab.shape
(5,5,3)
Primero hago lo siguiente
b = b.reshape(1,1,3)
entonces
b=np.concatenate((b, b,b, b, b), axis = 0)
Y
ab=np.concatenate((a, b), axis = 1)
ab.shape
(5, 5, 3)
Obtengo el resultado correcto, pero no es muy conveniente, especialmente en el paso
b=np.concatenate((b, b,b, b, b), axis = 0)
cuando tengo que escribir muchas veces (el conjunto de datos real tiene muchas dimensiones). ¿Hay alguna forma más rápida de llegar a este resultado?