在numpy数组中设置布尔索引

在numpy数组中设置布尔索引,numpy,indexing,Numpy,Indexing,我有形状为m,n,3的numpy数组和形状为m,n的mask。当我尝试将[mask>0]=255,0,0设置为0时,我得到一个错误 ValueError: NumPy boolean array indexing assignment cannot assign 3 input values to the 7401 output values where the mask is true` 如何在numpy中实现此功能?请尝试我无法重现您看到的问题。对不起,我的错误。我用m,n,3形状的面具做

我有形状为m,n,3的numpy数组和形状为m,n的mask。当我尝试将[mask>0]=255,0,0设置为0时,我得到一个错误

ValueError: NumPy boolean array indexing assignment cannot assign 3 input values to the 7401 output values where the mask is true`

如何在numpy中实现此功能?

请尝试我无法重现您看到的问题。对不起,我的错误。我用m,n,3形状的面具做索引
a = np.random.randint(0,2,size=(100,200,3))
mask = np.random.randint(0,2,size=(100,200))
a[mask > 0] = [255,0,0]
# Test
assert np.equal(a[mask > 0], 
    np.ones_like(a[mask > 0])*[255,0,0]).sum() == np.multiply(*a[mask > 0].shape)