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]])