假设我有一个这样的numpy数组:
a = np.array([1,2,3,4,5])
还有一个这样的面具
mask = np.array([True, True, True, False, False])
我想创建一个大小相等的数组,只要掩码中的相同位置是True,就包含来自a的元素,然后只要掩码中存在False,就将值设置为零。最终结果将是这样的:
True
a
False
result = np.array([1,2,3,0,0])
有什么想法吗?提前感谢!
bzzcjhmw1#
简单地相乘(True和False值的掩码分别转换为1和0):
1
0
res = a * mask
nnt7mjpx2#
使用numpy.where:
numpy.where
result = np.where(mask, a, 0)
2条答案
按热度按时间bzzcjhmw1#
简单地相乘(
True
和False
值的掩码分别转换为1
和0
):nnt7mjpx2#
使用
numpy.where
: