我有一个3D numpy数组:
image = np.random.random((2, 2, 3))
[[[0.01188816 0.46263957 0.00943777]
[0.0742566 0.8375209 0.259363 ]]
[[0.30823133 0.17924745 0.74292469]
[0.68490255 0.03143513 0.68233715]]]
一个面具:
[[[ True True True]
[False False False]]
[[False False False]
[False False False]]]
期望输出:
[[[0.01188816 0.46263957 0.00943777]
[0 0. 0. ]]
[[0. 0. 0. ]
[0. 0. 0. ]]]
因此,原始数组应该根据掩码进行修改-如果掩码的值为False,则条目应该设置为0,否则保持不变。
我尝试的是:
(image[unknown_array])
[0.01188816 0.46263957 0.00943777]
这确实给出了正确的值,但没有零。我怎样才能把零放到正确的位置?
非常感谢你的帮助。
2条答案
按热度按时间wmvff8tz1#
你可以用不同的方法来做:
Szczesny建议可能是最简单的一个:
手动填充
y
数组:fykwrbwg2#
用
np.where
试试:首先是数组:
回报率:
面具:
回报率:
最后是
np.where
:回报率: