水平连接numpy向量和矩阵

pdu*_*ois 3 python arrays numpy matrix

我有以下numpy向量m和矩阵n

import numpy as np
m = np.array([360., 130., 1.])
n = np.array([[60., 90., 120.], 
              [30., 120., 90.],
              [1.,  1.,   1. ]])
Run Code Online (Sandbox Code Playgroud)

我想要做的是将它们水平连接起来

np.array([[60., 90., 120.,360.], 
          [30., 120., 90., 130.],
          [1.,  1.,   1., 1. ]])
Run Code Online (Sandbox Code Playgroud)

这样做的方法是什么?

我尝试过但失败了:

np.concatenate(n,m.T,axis=1)
Run Code Online (Sandbox Code Playgroud)

mtr*_*trw 6

>>> np.hstack((n,np.array([m]).T))
array([[  60.,   90.,  120.,  360.],
       [  30.,  120.,   90.,  130.],
       [   1.,    1.,    1.,    1.]])
Run Code Online (Sandbox Code Playgroud)

问题是,由于m只有一个维度,其转置仍然是相同的.在进行转置之前,您需要使其具有形状(1,3)而不是(3,).

np.hstack((n,m[:,None]))DSM在评论中提出了更好的方法.

  • 您可以使用 `m[:,None]` 而不是 `np.array([m]).T` 来提高维度。 (2认同)