python - numpy,用数组替换列
问题描述
我正在尝试用具有相同长度的新数组替换一列或多列。
a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0,0,0])
a[:, 0] = b
我有一个错误ValueError: could not broadcast input array from shape (3,1) into shape (3)
。但是,当 b 有多个列时,这有效。
a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0,7],[0,7],[0,7]])
a[:, 0:2] = b
array([[0, 7, 3],
[0, 7, 3],
[0, 7, 3]])
如何有效地用另一个数组替换一列?
谢谢
Ĵ
解决方案
如果您像使用a[:, 0:2] = b
. [:, 0:1]
实际上只是第一列
a = np.array([[1,2,3],[1,2,3],[1,2,3]])
b = np.array([[0],[0],[0]])
a[:, 0:1] = b
# array([[0, 2, 3],
# [0, 2, 3],
# [0, 2, 3]])
推荐阅读
- debugging - 无法在 intellij idea 中运行调试模式
- angular - 无法在 Angular 6 组件初始化的 sessionStorage 中保存数组
- react-native - 在反应式中使用父子关系查看菜单和子菜单
- c# - 如何在 lambda 表达式中给出字符串中的属性名称?
- javascript - Chart.js 条形图不会从零开始作为最小值
- arrays - 编码自定义对象的nsarray时不能使用Hashable
- c# - 是否需要通过 https 加密帖子数据?
- c++ - ATL::CComContainedObject
: C2259 无法实例化抽象类 - html - React 不呈现选定的属性
- javascript - Mapbox GL - 文本偏移的数据驱动样式