2013-01-23 32 views
4
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 

我期待:连接两个一维到两列阵列

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

即使AA和BB我得到同样的不一致。 那么有没有一个简单的解决方案来沿着轴0连接两个一维数组?

+1

第一个例子也不行,'轴= 1'是不确定的(并且最终会给出一个错误)。 – seberg

回答

5

请注意,ab都是一维;没有轴1连接在一起。你想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]]) 

或者,你可以重塑ab第一:

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