python - 使用 numpy 数组连接列向量

标签 python vector numpy concatenation

我想使用 numpy 数组连接“列”向量,但因为 numpy 默认将所有数组视为行向量,np.hstacknp.concatenate任何轴都没有帮助( np.transpose 也没有像预期的那样)。

a = np.array((0, 1))
b = np.array((2, 1))
c = np.array((-1, -1))

np.hstack((a, b, c))
# array([ 0,  1,  2,  1, -1, -1])  ## Noooooo
np.reshape(np.hstack((a, b, c)), (2, 3))
# array([[ 0,  1,  2], [ 1, -1, -1]]) ## Reshaping won't help

一种可能性(但太麻烦)是

np.hstack((a[:, np.newaxis], b[:, np.newaxis], c[:, np.newaxis]))
# array([[ 0,  2, -1], [ 1,  1, -1]]) ##

有更好的方法吗?

最佳答案

我相信 numpy.column_stack应该做你想做的。 示例:

>>> a = np.array((0, 1))
>>> b = np.array((2, 1))
>>> c = np.array((-1, -1))
>>> numpy.column_stack((a,b,c))
array([[ 0,  2, -1],
       [ 1,  1, -1]])

本质上等于

>>> numpy.vstack((a,b,c)).T

虽然。正如它在文档中所说的那样。

关于python - 使用 numpy 数组连接列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14741061/

相关文章:

python - 链接 `if` 和 `url` 模板标签

c++ - 如何在 C++ 中的两个 vector 之间 move 项目

c++ - 将 char 数组结构 vector 转换为 POD vector ?

c++ - C++ 中两个 vector 之间的元素交换

python - 为表示 3D 点坐标的两个 2D 数组创建 bool 掩码

python - 在 pandas/numpy 中,如何制作包含字符串项计数的数据透视表?

python - np.power 做了哪些额外的工作?

python - Pyramid 为自动重启监控的附加文件/目录

python - Boost Python用默认参数包装静态成员函数重载

Python eval(repr(object)) - 语法无效