将向量和矩阵串联为列

时间:2018-11-23 07:24:10

标签: 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, 18],
       [ 5,  5, 12, 19],
       [ 6,  6, 13, 20]])

在不需要解压缩np.stack的情况下,有没有b更好的选择?我想知道最可读的方法是什么。

1 个答案:

答案 0 :(得分:1)

您可以转置b,然后使用np.column_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]])