python:当掩码元素为True时返回数组的元素,当掩码元素为False时返回零

iszxjhcz  于 2023-04-28  发布在  Python
关注(0)|答案(2)|浏览(180)

假设我有一个这样的numpy数组:

a = np.array([1,2,3,4,5])

还有一个这样的面具

mask = np.array([True, True, True, False, False])

我想创建一个大小相等的数组,只要掩码中的相同位置是True,就包含来自a的元素,然后只要掩码中存在False,就将值设置为零。最终结果将是这样的:

result = np.array([1,2,3,0,0])

有什么想法吗?提前感谢!

bzzcjhmw

bzzcjhmw1#

简单地相乘(TrueFalse值的掩码分别转换为10):

res = a * mask
nnt7mjpx

nnt7mjpx2#

使用numpy.where

result = np.where(mask, a, 0)

相关问题