首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于另一个数组的值将布尔矩阵的元素转换为真

基于另一个数组的值将布尔矩阵的元素转换为真
EN

Stack Overflow用户
提问于 2020-08-12 20:30:42
回答 1查看 488关注 0票数 4

我试图根据另一个numpy数组中包含的该行的索引值将布尔矩阵中的False元素的值更新为True。

下面是我的数组change,它标识了需要在矩阵mask_matrix中更改的元素

代码语言:javascript
复制
import numpy as np
mask_matrix = np.zeros((20, 25), dtype=bool)

change = np.array([ 6., 22., 22., 22., 22., 21., 22., 21., 17., 21., 22., 21., 22.,
       21., 22., 12.,  7.,  7., 12., 17.])

因此,change中的每个项都指示要在mask_matrix中更改哪个元素。例如,change[0] = 6.应该将mask_matrix中的第一行和第6列更改为6。

我知道我可以改变这样的东西,

代码语言:javascript
复制
mask[0,:][6] = True

但我需要找到一种更有效的方法。

有人对如何做这件事有什么建议吗?最好是矢量图。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-12 20:38:46

这应有助于:

代码语言:javascript
复制
mask_matrix[np.arange(change.size),change]=True

它基本上是使用numpy中的高级索引来调用数组的行列元素。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63384314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档