将两个一维数组连接为两列数组

5
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
第一个示例不正确,axis=1 未定义(最终会导致错误)。 - seberg
1个回答

7
请注意,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]])

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接