numpy.ma.where

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.ma.where.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

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,可选

要选择的值。xy需要具有与条件相同的形状,或者可以广播到该形状。

返回:

out:MaskedArray或ndarrays的元组

给出了得到的掩蔽数组if xy,否则返回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]]