concatenar dos matrices de una dimensión a dos columnas

a = np.array([1, 2, 3]) aa = np.array([1], [2], [3]) b = np.array([1, 2, 3]) bb = np.array([1], [2], [3]) np.concatenate((a, b), axis = 1) array([1, 2, 3, 1, 2, 3]) # It's ok, that's what I was expecting np.concatenate((a, b), axis = 0) array([1, 2, 3, 1, 2, 3]) # It's not ok, that's not what I was expecting 

Yo estaba esperando:

 array([[1, 2, 3], [1, 2, 3]]) 

incluso con aa y bb obtengo la misma inconsistencia. Entonces, ¿hay una solución simple para concatenar a lo largo del eje 0 dos matrices unidimensionales?

Tenga en cuenta que a y b son ambos unidimensionales; No hay eje 1 para concatenar a lo largo. Quieres vstack

 >>> import numpy as np >>> a = np.array([1,2,3]) >>> b = a.copy() >>> np.vstack([a,b]) array([[1, 2, 3], [1, 2, 3]]) 

Alternativamente, puedes cambiar de forma a y b primero:

 >>> np.concatenate([a[np.newaxis,:],b[np.newaxis,:]],axis = 0) array([[1, 2, 3], [1, 2, 3]])