python - Numpy数组添加一列
问题描述
对 python 来说有点新,我需要使用 numpy 来追加一列,我有一个 ndarray a[[1 2 3] [4 5 6]]
和另一个 ndarray 和 b[1 7]
所以最终结果应该是[[1 2 3 1] [4 5 6 7]
. 我努力了
array = np.append(a , b, axis=1)
但我明白了
所有输入数组必须具有相同的维数
(说得通)。我也试图将它插入到一个 for 循环中,但根据我在 python 中看到的内容,这些库有一种简单的方法来做事,我想知道是否有更有效的方法?
解决方案
尝试numpy.hstack
将轴添加到 b -
a = np.array([[1,2,3],[4,5,6]])
b = np.array([1,7])
np.hstack([a,b[:,None]])
array([[1, 2, 3, 1],
[4, 5, 6, 7]])
笔记:
b[:,None]
添加一个轴以将 b 从一维数组(2,)
转为二维(2,1)
数组(与 相同b.reshape(-1,1)
)np.hstack
现在能够水平堆叠(2,3)
并(2,1)
给出(2,4)
异形阵列
推荐阅读
- google-sheets - Multiply and Sum results if cells match criteria
- python - Why looping Tinydb.update work just for the first time in loop
- python - 使用数据框内容更新 SQL 数据库
- github - GitHub 的实际源代码是在 GitHub 上吗?
- python - 如何根据打印内的条件设置“结束”参数
- c# - 无法添加 Flash.ocx 依赖项
- mysql - Mysql 随机行更新/选择:预先计算的随机值呢?
- openedge - 有没有办法使用正在进行的动态查询有条件地应用内部联接?
- java - Java JDBC 在插入后从 DEFAULT 中检索值
- bash - 使用 BASH 文件名中的参数作为集群上 Julia 脚本的参数