我需要a
通过另一个数组满足的条件来屏蔽一个数组b
。
例如,a
只有在相同位置的值等于 0 时才应保留 in 中的值b
,否则返回为None
. 例如:
a = np.array([2, 2, 4, 0, 4, 3, 3, 3, 1, 2])
被掩盖
b = np.array([0, 0, 0, 1, 0, 3, 0, 5, 0, 0])
返回
c: [2, 2, 4, None, 4, None, 3, None, 1, 2]
我努力了
to_change = np.ma.masked_where(travel_time!=0, new_subareas)
但这会返回:
masked_array(data=[2, 2, 4, --, 4, --, 3, --, 1, 2],
mask=[False, False, False, True, False, True,
False, True, False, False],
fill_value=999999)
但是我找不到任何会返回类似于给出的示例的东西c
。
为了速度,我需要完全在numpy
没有 for 循环或 if 语句的情况下完成一些事情,因为这将适用于非常大的数组。我错过了什么?