Numpy 将向量和矩阵连接为列
我目前正在做类似的事情:Numpy 将向量和矩阵连接为列,numpy,Numpy,我目前正在做类似的事情: In [75]: a = np.arange(7) In [76]: b = np.arange(3 * 7).reshape([3, 7]) In [77]: np.stack([a, *b], axis=1) Out[77]: array([[ 0, 0, 7, 14], [ 1, 1, 8, 15], [ 2, 2, 9, 16], [ 3, 3, 10, 17], [ 4, 4, 11,
In [75]: a = np.arange(7)
In [76]: b = np.arange(3 * 7).reshape([3, 7])
In [77]: np.stack([a, *b], axis=1)
Out[77]:
array([[ 0, 0, 7, 14],
[ 1, 1, 8, 15],
[ 2, 2, 9, 16],
[ 3, 3, 10, 17],
[ 4, 4, 11, 18],
[ 5, 5, 12, 19],
[ 6, 6, 13, 20]])
除了
np.stack
之外,还有更好的选择吗?我不需要解包b
?我想知道什么是最可读的方式。您可以将b
转置,然后使用:
这样做的基本方法是
np.concatenate((a[:,None],b.T),axis=1)
。stack
和column\u stack
都操作输入,然后将输入传递到串联
*stack
函数很方便,但最好能充分理解形状,以便直接使用连接。
np.column_stack((a, b.T))
#array([[ 0, 0, 7, 14],
# [ 1, 1, 8, 15],
# [ 2, 2, 9, 16],
# [ 3, 3, 10, 17],
# [ 4, 4, 11, 18],
# [ 5, 5, 12, 19],
# [ 6, 6, 13, 20]])