arrays - 如何使用另一个相同大小的数组索引 numpy 数组
问题描述
我有一个 numpy 数组a
和另一个dex
相同形状的 int 类型的数组。我想用来dex
索引到a
. 我怎么做?
a = np.arange(10).reshape(2,5)
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
dex = np.zeros((2,5)).astype(np.int)
dex[:,1] =1
array([[0, 1, 0, 0, 0],
[0, 1, 0, 0, 0]])
我正在尝试这样的事情,但没有奏效,
a[dex]=100
得到了print(a)
array([[100, 100, 100, 100, 100],
[100, 100, 100, 100, 100]])
我实际上希望结果是print(a)
array([[0, 100, 2, 3, 4],
[5, 100, 7, 8, 9]])
解决方案
当您给出 a[dex] 时,您正在尝试引用所有项目。当您给a[dex==1]=100
时,它会检查特定值并仅在满足条件时才dex
分配值。100
a[dex==1]=100
会给你:
[[ 0 100 2 3 4]
[ 5 100 7 8 9]]
推荐阅读
- kubernetes - Pachyderm 部署 GCP - 没有这样的图像
- javascript - 有没有办法在没有信息 c3.js 的情况下删除 y 刻度?
- ios - PYTHONPATH 在 macOS 上不适用于 sudo(如果我不使用 sudo 则有效)
- linux - 添加补丁和另一个 git 源在 yocto 中不起作用
- java - Tomcat log4j.xml 和 log4j2.xml 滚动日志配置为删除旧
- c# - 尝试使用 OCR 从屏幕上抓取一个单词而不消耗大量 CPU
- reactjs - 从类组件中的链接状态访问对象
- python - AttributeError:“DataFrame”对象在遍历列时没有属性“dtype”
- reactjs - 选择第一个值以外的值时自动提交下拉列表?
- reactjs - 将自定义参数添加到自定义组件“组件”属性