连接np.python数组

连接np.python数组,python,numpy,Python,Numpy,如果: a = np.array([[1,2,3],[5,6,7]]) b = np.array([0,1]) 我搜索连接a和b,结果如下: np.array([1,2,3,0],[5,6,7,1]) 非常感谢问题是将a与b水平连接起来作为列向量 <concat>( |1 2 3|, |0| ) |5 6 7| |1| 使用numpy广播和连接 np.concatenate([a,b[:,None]],1) Out[1053]: array([[1,

如果:

a = np.array([[1,2,3],[5,6,7]])

b = np.array([0,1])
我搜索连接
a
b
,结果如下:

np.array([1,2,3,0],[5,6,7,1])

非常感谢

问题是将
a
b
水平连接起来作为列向量

<concat>( |1 2 3|, |0| )
          |5 6 7|  |1|

使用
numpy
广播和
连接

np.concatenate([a,b[:,None]],1)
Out[1053]: 
array([[1, 2, 3, 0],
       [5, 6, 7, 1]])

要做到这一点,更简单的方法是避免广播,并使用为此设计的功能:


@Yuca:对于一维数组,行向量和列向量之间没有区别。请参阅例如以了解更多信息。@Yuca您可以将转置与
np.atleast\u 2d
np.hstack([a,np.atleast\u 2d(b.T])
。哦,我不知道!它本质上是作为@Wen的答案实现的。有趣!:)是的,
column\u stack
是唯一一个堆栈函数(我相信),它可以将一维输入转换为二维列,因此在这里工作得非常好。
np.concatenate([a,b[:,None]],1)
Out[1053]: 
array([[1, 2, 3, 0],
       [5, 6, 7, 1]])
np.column_stack([a, b])
array([[1, 2, 3, 0],
       [5, 6, 7, 1]])