python - 如何将 NumPy 数组广播到另一个 NumPy 数组的一部分?
问题描述
我有这些数组。
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
b = np.array([-1, -2, -3])
a
我想用b
像这样的元素来改变一些元素:
a = [[1, -1, -1],
[3, -2, -2],
[4, -3, -3]]
我试过了:a[:,1:]=b
但有一个例外:
ValueError: could not broadcast input array from shape (3) into shape (3,2)
b
广播的正确方法是什么a
?
解决方案
您试图将b
其视为一列,但广播规则将尝试复制b
到a[:, 1:]
. 那是行不通的。
相反,转置a
并复制b
到转置的行中:
a.T[1:] = b
推荐阅读
- php - 仅在前端将搜索结果限制为 WooCommerce 产品
- javascript - 如何在 Nativescript XML 中使用 set javascript 变量值
- html - 一个块元素将另一个块元素推离屏幕
- java - 将 GCP RecognizeResponse 转换为 json
- reactjs - 向嵌套的解构道具添加类型。Typescript React Redux。TS2339
- algorithm - 使用“路径减半”对不相交集进行 Find() 操作
- javascript - 在 React Native 中将变量从一个文件传递到另一个文件
- c# - Prism DelegateCommand 未在 SelectionChanged 上触发
- powershell - 带有 Selenium 的 Powershell:我无法让“滚动视图”工作
- ag-grid - Ag-Grid 行数据 .map param.value