的常量 numpy.ma 模块

除了 MaskedArraynumpy.ma 模块定义了几个常量。

numpy.ma.masked

这个 masked 常量是 MaskedArray ,具有float数据类型和空形状。它用于测试屏蔽数组的特定项是否被屏蔽,或屏蔽屏蔽数组的一个或多个项:

>>> x = ma.array([1, 2, 3], mask=[0, 1, 0])
>>> x[1] is ma.masked
True
>>> x[-1] = ma.masked
>>> x
masked_array(data=[1, --, --],
             mask=[False,  True,  True],
       fill_value=999999)
numpy.ma.nomask

指示屏蔽数组没有无效项的值。 nomask 在不需要遮罩的情况下,在内部使用以加快计算速度。内部表示为 np.False_ .

numpy.ma.masked_print_options

打印屏蔽数组时用于替换丢失数据的字符串。默认情况下,此字符串是 '--' .

这个 MaskedArray

class numpy.ma.MaskedArray[源代码]

一个子类 ndarray 设计用于处理缺少数据的数值数组。

的实例 MaskedArray 可以认为是多个元素的组合:

  • 这个 data 作为常规 numpy.ndarray 任何形状或数据类型(数据)。

  • 布尔函数 mask 与数据形状相同,其中 True 值指示数据的相应元素无效。特殊价值 nomask 对于没有命名字段的数组也是可以接受的,并指示没有数据无效。

  • A fill_value ,可用于替换无效条目以返回标准的值。 numpy.ndarray .

屏蔽数组的属性和属性

MaskedArray.data

返回底层数据,作为屏蔽数组的视图。

如果基础数据是 numpy.ndarray ,则返回原样。

>>> x = np.ma.array(np.matrix([[1, 2], [3, 4]]), mask=[[0, 1], [1, 0]])
>>> x.data
matrix([[1, 2],
        [3, 4]])

数据的类型可以通过 baseclass 属性。

MaskedArray.mask

当前掩码。

MaskedArray.recordmask

如果数组没有命名字段,则获取或设置该数组的掩码。对于结构化数组,返回一个布尔数组,其中的条目是 True 如果 all 田野被遮住了, False 否则:

>>> x = np.ma.array([(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)],
...         mask=[(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)],
...        dtype=[('a', int), ('b', int)])
>>> x.recordmask
array([False, False,  True, False, False])
MaskedArray.fill_value

屏蔽数组的填充值是标量。设置时,“无”将根据数据类型设置为默认值。

实例

>>> for dt in [np.int32, np.int64, np.float64, np.complex128]:
...     np.ma.array([0, 1], dtype=dt).get_fill_value()
...
999999
999999
1e+20
(1e+20+0j)
>>> x = np.ma.array([0, 1.], fill_value=-np.inf)
>>> x.fill_value
-inf
>>> x.fill_value = np.pi
>>> x.fill_value
3.1415926535897931 # may vary

重置为默认值:

>>> x.fill_value = None
>>> x.fill_value
1e+20
MaskedArray.baseclass

基础数据的类(只读)。

MaskedArray.sharedmask

共享掩码的状态(只读)。

MaskedArray.hardmask

面罩硬度

AS MaskedArray 是的子类 ndarray ,屏蔽数组还继承 ndarray 实例。

MaskedArray.base 

如果内存来自其他对象,则为基对象。

MaskedArray.ctypes 

简化数组与CTypes模块交互的对象。

MaskedArray.dtype 

数组元素的数据类型。

MaskedArray.flags 

有关数组内存布局的信息。

MaskedArray.itemsize 

一个数组元素的长度(字节)。

MaskedArray.nbytes 

数组元素消耗的总字节数。

MaskedArray.ndim 

数组维数。

MaskedArray.shape 

数组维度的元组。

MaskedArray.size 

数组中的元素数。

MaskedArray.strides 

遍历数组时要在每个维度中单步执行的字节元组。

MaskedArray.imag 

屏蔽数组的虚部。

MaskedArray.real 

屏蔽数组的实际部分。

MaskedArray.flat 

返回平坦迭代器,或将self的平坦版本设置为value。

MaskedArray.__array_priority__ 

MaskedArray 方法

参见

Array methods

转换

MaskedArray.__float__ ()

转换为float。

MaskedArray.__int__ ()

转换为int。

MaskedArray.view \ [dtype, type, fill_value] )

Maskeray数据返回视图。

MaskedArray.astype (dType) [, order, casting, ...] )

数组的副本,强制转换为指定类型。

MaskedArray.byteswap \ [inplace] )

交换数组元素的字节

MaskedArray.compressed ()

以一维数组形式返回所有未屏蔽的数据。

MaskedArray.filled \ [fill_value] )

返回self的副本,并用给定值填充屏蔽值。

MaskedArray.tofile (FID) [, sep, format] )

将屏蔽数组保存为二进制格式的文件。

MaskedArray.toflex ()

将屏蔽数组转换为灵活的类型数组。

MaskedArray.tolist \ [fill_value] )

以层次结构python列表的形式返回屏蔽数组的数据部分。

MaskedArray.torecords ()

将屏蔽数组转换为灵活的类型数组。

MaskedArray.tostring \ [fill_value, order] )

的兼容性别名 tobytes ,行为完全相同。

MaskedArray.tobytes \ [fill_value, order] )

以包含数组中原始字节的字符串形式返回数组数据。

形状操纵

对于重新整形、调整大小和转置,可以将单个tuple参数替换为 n 将被解释为n元组的整数。

MaskedArray.flatten \ [order] )

返回折叠为一维的数组的副本。

MaskedArray.ravel \ [order] )

以视图形式返回自身的1d版本。

MaskedArray.reshape * S *  * 克瓦格斯)

在不更改数组数据的情况下为数组赋予新形状。

MaskedArray.resize [新形状] [, refcheck, order] )

MaskedArray.squeeze \ [axis] )

从中删除长度为1的轴 a .

MaskedArray.swapaxes \(轴1、轴2)

返回数组的视图 axis1axis2 互换的

MaskedArray.transpose * 轴)

返回转置轴的数组视图。

MaskedArray.T 

换位数组。

项目选择和操作

对于采用 axis 关键字,默认为无。如果axis为None,则将该数组视为一维数组。任何其他价值 axis 表示操作应沿其进行的维度。

MaskedArray.argmax \ [axis, fill_value, out] )

返回沿给定轴的最大值的索引数组。

MaskedArray.argmin \ [axis, fill_value, out] )

沿给定轴将索引数组返回到最小值。

MaskedArray.argsort \ [axis, kind, order, ...] )

返回沿指定轴对数组排序的索引的ndarray。

MaskedArray.choose [选择] [, out, mode] )

使用索引数组从一组选项中构造新数组。

MaskedArray.compress [条件] [, axis, out] )

返回 a 条件是什么 True .

MaskedArray.diagonal \ [offset, axis1, axis2] )

返回指定的对角线。

MaskedArray.fill 值(值)

用标量值填充数组。

MaskedArray.item * ARGs)

将数组的元素复制到标准的python标量并返回它。

MaskedArray.nonzero ()

返回非零的未屏蔽元素的索引。

MaskedArray.put \(索引,值[, mode] )

将存储索引位置设置为相应的值。

MaskedArray.repeat [重复] [, axis] )

重复数组元素。

MaskedArray.searchsorted (V) [, side, sorter] )

查找应在a中插入v元素以保持顺序的索引。

MaskedArray.sort \ [axis, kind, order, ...] )

对数组进行适当的排序

MaskedArray.take [指数] [, axis, out, mode] )

酸洗和复印

MaskedArray.copy \ [order] )

返回数组的副本。

MaskedArray.dump \(文件)

将数组的pickle转储到指定的文件。

MaskedArray.dumps ()

以字符串形式返回数组的pickle。

计算

MaskedArray.all \ [axis, out, keepdims] )

如果所有元素的计算结果都为true,则返回true。

MaskedArray.anom \ [axis, dtype] )

计算给定轴上的异常(与算术平均值的偏差)。

MaskedArray.any \ [axis, out, keepdims] )

如果的任何元素 a 计算为真。

MaskedArray.clip \ [min, max, out] )

返回值限制为的数组 [min, max] .

MaskedArray.conj ()

复共轭所有元素。

MaskedArray.conjugate ()

返回复共轭,按元素排序。

MaskedArray.cumprod \ [axis, dtype, out] )

返回数组元素在给定轴上的累积积。

MaskedArray.cumsum \ [axis, dtype, out] )

返回给定轴上数组元素的累积和。

MaskedArray.max \ [axis, out, fill_value, ...] )

沿给定轴返回最大值。

MaskedArray.mean \ [axis, dtype, out, keepdims] )

返回沿给定轴的数组元素的平均值。

MaskedArray.min \ [axis, out, fill_value, ...] )

沿给定轴返回最小值。

MaskedArray.prod \ [axis, dtype, out, keepdims] )

返回数组元素在给定轴上的乘积。

MaskedArray.product \ [axis, dtype, out, keepdims] )

返回数组元素在给定轴上的乘积。

MaskedArray.ptp \ [axis, out, fill_value, ...] )

沿给定尺寸(即

MaskedArray.round \ [decimals, out] )

返回四舍五入到给定小数位数的每个元素。

MaskedArray.std \ [axis, dtype, out, ddof, ...] )

返回数组元素沿给定轴的标准偏差。

MaskedArray.sum \ [axis, dtype, out, keepdims] )

返回给定轴上数组元素的和。

MaskedArray.trace \ [offset, axis1, axis2, ...] )

沿数组的对角线返回和。

MaskedArray.var \ [axis, dtype, out, ddof, ...] )

沿指定轴计算方差。

算术和比较运算

比较运算符:

MaskedArray.__lt__ \(值,/)

返回self<value。

MaskedArray.__le__ \(值,/)

返回self<=value。

MaskedArray.__gt__ \(值,/)

返回self>值。

MaskedArray.__ge__ \(值,/)

返回self>=值。

MaskedArray.__eq__ (其他)

检查其他元素是否等于自我元素。

MaskedArray.__ne__ (其他)

检查其他元素是否不等于自身元素。

数组的真值 (bool() ):

MaskedArray.__bool__ (/)

我自己!= 0

算术:

MaskedArray.__abs__ (自我)

MaskedArray.__add__ (其他)

将self添加到other,并返回一个新的屏蔽数组。

MaskedArray.__radd__ (其他)

将另一个添加到self,并返回一个新的屏蔽数组。

MaskedArray.__sub__ (其他)

从self中减去other,并返回一个新的屏蔽数组。

MaskedArray.__rsub__ (其他)

从其他数组中减去self,然后返回一个新的屏蔽数组。

MaskedArray.__mul__ (其他)

将self与other相乘,并返回一个新的屏蔽数组。

MaskedArray.__rmul__ (其他)

将另一个乘以self,并返回一个新的屏蔽数组。

MaskedArray.__div__ (其他)

将另一个拆分为self,并返回一个新的屏蔽数组。

MaskedArray.__truediv__ (其他)

将另一个拆分为self,并返回一个新的屏蔽数组。

MaskedArray.__rtruediv__ (其他)

将self划分为other,并返回一个新的屏蔽数组。

MaskedArray.__floordiv__ (其他)

将另一个拆分为self,并返回一个新的屏蔽数组。

MaskedArray.__rfloordiv__ (其他)

将self划分为other,并返回一个新的屏蔽数组。

MaskedArray.__mod__ \(值,/)

返回self%值。

MaskedArray.__rmod__ \(值,/)

返回值%self。

MaskedArray.__divmod__ \(值,/)

返回divmod(self,value)。

MaskedArray.__rdivmod__ \(值,/)

返回divmod(值,self)。

MaskedArray.__pow__ (其他)

把自己提升到另一个力量,掩盖潜在的nan/infs

MaskedArray.__rpow__ (其他)

将另一个提升到电源自身,掩盖潜在的nan/infs

MaskedArray.__lshift__ \(值,/)

返回self<<value。

MaskedArray.__rlshift__ \(值,/)

返回值<<self。

MaskedArray.__rshift__ \(值,/)

返回self>>值。

MaskedArray.__rrshift__ \(值,/)

返回值>>自身。

MaskedArray.__and__ \(值,/)

返回自身值(&V)。

MaskedArray.__rand__ \(值,/)

返回值和自身。

MaskedArray.__or__ \(值,/)

返回自身值。

MaskedArray.__ror__ \(值,/)

返回值self。

MaskedArray.__xor__ \(值,/)

返回self^值。

MaskedArray.__rxor__ \(值,/)

返回值^ self。

算术,就地:

MaskedArray.__iadd__ (其他)

在自己的位置添加其他。

MaskedArray.__isub__ (其他)

从自身位置减去其他。

MaskedArray.__imul__ (其他)

把自己和其他人相乘。

MaskedArray.__idiv__ (其他)

把自己和其他人分开。

MaskedArray.__itruediv__ (其他)

真正地把自己和其他人分开。

MaskedArray.__ifloordiv__ (其他)

地板被其他地方分开。

MaskedArray.__imod__ \(值,/)

返回self%=值。

MaskedArray.__ipow__ (其他)

在适当的地方把自己提升到另一个力量。

MaskedArray.__ilshift__ \(值,/)

返回self<<=value。

MaskedArray.__irshift__ \(值,/)

返回self>>=值。

MaskedArray.__iand__ \(值,/)

返回self&=值。

MaskedArray.__ior__ \(值,/)

返回self=值。

MaskedArray.__ixor__ \(值,/)

返回self^=值。

表现

MaskedArray.__repr__ ()

文本字符串表示。

MaskedArray.__str__ ()

返回str(self)。

MaskedArray.ids ()

返回数据和屏蔽区域的地址。

MaskedArray.iscontiguous ()

返回一个布尔值,指示数据是否连续。

特殊方法

对于标准库函数:

MaskedArray.__copy__ ()

使用如果 copy.copy 对数组调用。

MaskedArray.__deepcopy__ (备忘录,)

使用如果 copy.deepcopy 对数组调用。

MaskedArray.__getstate__ ()

返回屏蔽数组的内部状态,以便进行酸洗。

MaskedArray.__reduce__ ()

返回3-tuple用于腌制maskedarray。

MaskedArray.__setstate__ (状态)

出于酸洗目的,恢复屏蔽阵列的内部状态。

基本自定义:

MaskedArray.__new__ (CLS) [, data, mask, ...] )

从头开始创建一个新的屏蔽数组。

MaskedArray.__array__ \ [dtype] , /)

如果未给定dtype,则返回对self的新引用;如果dtype与数组的当前dtype不同,则返回所提供数据类型的新数组。

MaskedArray.__array_wrap__ [(Obj]) [, context] )

UFUNC专用钩。

容器自定义:(请参见 Indexing

MaskedArray.__len__ (/)

返回len(self)。

MaskedArray.__getitem__ [(dxx)]

x.“获取项目”(y)<==>x [y]

MaskedArray.__setitem__ \(indx,值)

x.“设置项”(i,y)<==>x [i] = Y

MaskedArray.__delitem__ \(键,/)

删除自我 [key] .

MaskedArray.__contains__ \(键,/)

自己返回钥匙。

具体方法

处理面具

以下方法可用于访问有关遮罩的信息或操作遮罩。

MaskedArray.__setmask__ [面具] [, copy] )

设置掩码。

MaskedArray.harden_mask ()

强制面具变硬。

MaskedArray.soften_mask ()

强制面具变软。

MaskedArray.unshare_mask ()

复制掩码并将sharedmask标志设置为false。

MaskedArray.shrink_mask ()

在可能的情况下,将遮罩缩小到nomask。

处理 fill_value

MaskedArray.get_fill_value ()

掩码数组的填充值是标量。

MaskedArray.set_fill_value \ [value] )

计算缺少的元素

MaskedArray.count \ [axis, keepdims] )

沿给定轴计算数组的未屏蔽元素。