【发布时间】:2011-11-03 00:27:01
【问题描述】:
我有以下代码,它首先选择具有逻辑索引掩码的 NumPy 数组的元素:
import numpy as np
grid = np.random.rand(4,4)
mask = grid > 0.5
我希望对这个使用第二个布尔掩码来挑选对象:
masklength = len(grid[mask])
prob = 0.5
# generates an random array of bools
second_mask = np.random.rand(masklength) < prob
# this fails to act on original object
grid[mask][second_mask] = 100
这与此 SO 问题中列出的问题并不完全相同: Numpy array, how to select indices satisfying multiple conditions? - 因为我使用的是随机数生成,所以我不想生成一个完整的掩码,只针对第一个掩码选择的元素。
【问题讨论】: