numpy.ma.where¶
-
numpy.ma.
where
(condition, x=<class numpy._globals._NoValue>, y=<class numpy._globals._NoValue>)[source]¶ 根据条件返回带有x或y元素的蒙版数组。
返回一个屏蔽数组,形状像条件,其中条件为True时,元素为x,否则为y。如果既没有给出x也没有给出y,则函数返回其中条件为True的索引的元组(
condition.nonzero()
)。参数: condition:array_like,bool
满足的条件。对于每个True元素,从x产生相应的元素,否则从y产生相应的元素。
x,y:array_like,可选
要选择的值。x和y需要具有与条件相同的形状,或者可以广播到该形状。
返回: out:MaskedArray或ndarrays的元组
给出了得到的掩蔽数组if x和y,否则返回
condition.nonzero()
。也可以看看
numpy.where
- 顶层NumPy模块中的等效函数。
例子
>>> x = np.ma.array(np.arange(9.).reshape(3, 3), mask=[[0, 1, 0], ... [1, 0, 1], ... [0, 1, 0]]) >>> print(x) [[0.0 -- 2.0] [-- 4.0 --] [6.0 -- 8.0]] >>> np.ma.where(x > 5) # return the indices where x > 5 (array([2, 2]), array([0, 2]))
>>> print(np.ma.where(x > 5, x, -3.1416)) [[-3.1416 -- -3.1416] [-- -3.1416 --] [6.0 -- 8.0]]