【发布时间】:2019-03-11 04:15:21
【问题描述】:
如果出现以下情况,我该怎么办:
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 = 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])
非常感谢
【问题讨论】:
更numpythonic的方法是避免广播,并使用为此设计的函数:numpy.column_stack:
np.column_stack([a, b])
array([[1, 2, 3, 0],
[5, 6, 7, 1]])
【讨论】:
column_stack 是唯一一个将一维输入转换为二维列的堆叠函数(我相信),因此在这里完美运行。
使用numpy 广播和concatenate
np.concatenate([a,b[:,None]],1)
Out[1053]:
array([[1, 2, 3, 0],
[5, 6, 7, 1]])
【讨论】:
【讨论】:
np.atleast_2d的转置:np.hstack([a, np.atleast_2d(b).T])。