python - 水平连接numpy向量和矩阵

标签 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. ]])

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

np.array([[60., 90., 120.,360.], 
          [30., 120., 90., 130.],
          [1.,  1.,   1., 1. ]])

有什么方法可以做到?

我试过了但是失败了:

np.concatenate(n,m.T,axis=1)

最佳答案

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

问题是因为 m 只有一维,它的转置仍然是一样的。在进行转置之前,您需要使其具有形状 (1,3) 而不是 (3,)。

按照 DSM 在评论中的建议,np.hstack((n,m[:,None])) 是一个更好的方法。

关于python - 水平连接numpy向量和矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33405219/

相关文章:

python - 外星人入侵 - Pygame - 外星人走出屏幕

Javascript 数组元素返回未定义

arrays - 在数组上使用 GREP 查找单词

ruby-on-rails - 如何分隔 ruby 中的括号?

python - 不同大小数组的协方差近似

python - 是否可以在函数中返回具有泛型类型的列表

python - ImportError:尝试在顶级包之外进行相对导入。我真的被困住了

python - numpy 广播如何执行得更快?

python - PyQt5:使用 QTableView.setSortingEnabled 和 QSortFilterProxyModel 时的幻像列

python - 将 Python/Numpy 代码转换为 Cython - 数组问题 - 缓冲区类型仅允许作为函数局部变量?