gpt4 book ai didi

python - 根据另一个数组的值将 bool 矩阵的元素更改为 True

转载 作者:行者123 更新时间:2023-12-04 12:33:50 24 4
gpt4 key购买 nike

我正在尝试根据包含在另一个 numpy 数组中的该行的索引值将 bool 矩阵中 False 元素的值更新为 True。
这是我的数组,change ,标识矩阵中需要更改的元素,mask_matrix :

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
我知道我可以改变这样的项目,
mask[0,:][6] = True
但我需要找到一种更有效的方法来做到这一点。
有没有人对如何做到这一点有任何建议?最好是矢量化的。

最佳答案

这应该有帮助:

mask_matrix[np.arange(change.size),change]=True
这基本上是在 numpy 中使用高级索引来调用数组的行列元素。

关于python - 根据另一个数组的值将 bool 矩阵的元素更改为 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63384314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com