当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy ma.masked_where用法及代码示例


本文简要介绍 python 语言中 numpy.ma.masked_where 的用法。

用法:

ma.masked_where(condition, a, copy=True)

屏蔽满足条件的数组。

返回a作为掩码数组,其中健康)状况是真的。任何掩码值a或者健康)状况也在输出中被屏蔽。

参数

condition array_like

掩蔽条件。什么时候健康)状况测试浮点值是否相等,考虑使用masked_values反而。

a array_like

要屏蔽的数组。

copy bool

如果为 True(默认),则在结果中制作 a 的副本。如果 False 就地修改 a 并返回一个视图。

返回

result MaskedArray

屏蔽 where 条件的结果为 True。

例子

>>> import numpy.ma as ma
>>> a = np.arange(4)
>>> a
array([0, 1, 2, 3])
>>> ma.masked_where(a <= 2, a)
masked_array(data=[--, --, --, 3],
             mask=[ True,  True,  True, False],
       fill_value=999999)

掩码数组 b 以 a 为条件。

>>> b = ['a', 'b', 'c', 'd']
>>> ma.masked_where(a == 2, b)
masked_array(data=['a', 'b', --, 'd'],
             mask=[False, False,  True, False],
       fill_value='N/A',
            dtype='<U1')

copy 参数的效果。

>>> c = ma.masked_where(a <= 2, a)
>>> c
masked_array(data=[--, --, --, 3],
             mask=[ True,  True,  True, False],
       fill_value=999999)
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],
             mask=[False,  True,  True, False],
       fill_value=999999)
>>> a
array([0, 1, 2, 3])
>>> c = ma.masked_where(a <= 2, a, copy=False)
>>> c[0] = 99
>>> c
masked_array(data=[99, --, --, 3],
             mask=[False,  True,  True, False],
       fill_value=999999)
>>> a
array([99,  1,  2,  3])

当条件或 a 包含掩码值时。

>>> a = np.arange(4)
>>> a = ma.masked_where(a == 2, a)
>>> a
masked_array(data=[0, 1, --, 3],
             mask=[False, False,  True, False],
       fill_value=999999)
>>> b = np.arange(4)
>>> b = ma.masked_where(b == 0, b)
>>> b
masked_array(data=[--, 1, 2, 3],
             mask=[ True, False, False, False],
       fill_value=999999)
>>> ma.masked_where(a == 3, b)
masked_array(data=[--, 1, --, --],
             mask=[ True, False,  True,  True],
       fill_value=999999)

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.ma.masked_where。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。