dask.array.ma.where

dask.array.ma.where

dask.array.ma.where(condition, x=None, y=None)[源代码]

根据条件返回一个掩码数组,元素来自 xy

此文档字符串是从 numpy.ma.core.where 复制而来的。

Dask 版本可能存在一些不一致性。

备注

当仅提供 condition 时,此函数与 nonzero 相同。本文件的其余部分仅涵盖所有三个参数都提供的情况。

参数
条件array_like, bool

当为 True 时,生成 x,否则生成 y

x, y类似数组, 可选

可供选择的值。x, ycondition 需要能够广播到某种形状。

返回
MaskedArray

一个掩码数组,其中条件被掩码的元素为 masked,条件为 True 的元素来自 x,其他地方的元素来自 y

参见

numpy.where

NumPy 模块顶层的等效函数。

nonzero

当省略 x 和 y 时调用的函数

示例

>>> import numpy as np  
>>> x = np.ma.array(np.arange(9.).reshape(3, 3), mask=[[0, 1, 0],  
...                                                    [1, 0, 1],
...                                                    [0, 1, 0]])
>>> x  
masked_array(
  data=[[0.0, --, 2.0],
        [--, 4.0, --],
        [6.0, --, 8.0]],
  mask=[[False,  True, False],
        [ True, False,  True],
        [False,  True, False]],
  fill_value=1e+20)
>>> np.ma.where(x > 5, x, -3.1416)  
masked_array(
  data=[[-3.1416, --, -3.1416],
        [--, -3.1416, --],
        [6.0, --, 8.0]],
  mask=[[False,  True, False],
        [ True, False,  True],
        [False,  True, False]],
  fill_value=1e+20)