掩码数组操作#

常量#

ma.MaskType

bool 的别名

创建#

从现有数据#

ma.masked_array

MaskedArray 的别名

ma.array(data[, dtype, copy, order, mask, …])

一个可能包含掩码值的数组类。

ma.copy(self, *args, **params) a.copy(order=)

返回数组的副本。

ma.frombuffer(buffer[, dtype, count, …])

将缓冲区解释为一维数组。

ma.fromfunction(function, shape, **dtype)

通过对每个坐标执行函数来构造数组。

ma.MaskedArray.copy([order])

返回数组的副本。

ma.diagflat

创建一个二维数组,其扁平化输入作为对角线。

全1和全0数组#

ma.empty(shape[, dtype, order, device, like])

返回一个具有给定形状和类型的新数组,但不初始化条目。

ma.empty_like(prototype[, dtype, order, …])

返回一个与给定数组具有相同形状和类型的新数组。

ma.masked_all(shape[, dtype])

所有元素都被掩码的空掩码数组。

ma.masked_all_like(arr)

具有现有数组属性的空掩码数组。

ma.ones(shape[, dtype, order])

返回一个具有给定形状和类型的新数组,填充为1。

ma.ones_like

返回一个与给定数组具有相同形状和类型的全1数组。

ma.zeros(shape[, dtype, order, like])

返回一个具有给定形状和类型的新数组,填充为0。

ma.zeros_like

返回一个与给定数组具有相同形状和类型的全0数组。


检查数组#

ma.all(self[, axis, out, keepdims])

如果所有元素都计算为 True,则返回 True。

ma.any(self[, axis, out, keepdims])

如果 a 的任何元素计算为 True,则返回 True。

ma.count(self[, axis, keepdims])

沿给定轴计算数组中未掩码元素的数量。

ma.count_masked(arr[, axis])

沿给定轴计算掩码元素的数量。

ma.getmask(a)

返回掩码数组的掩码,或 nomask。

ma.getmaskarray(arr)

返回掩码数组的掩码,或全 False 的布尔数组。

ma.getdata(a[, subok])

将掩码数组的数据作为 ndarray 返回。

ma.nonzero(self)

返回非零且未掩码元素的索引。

ma.shape(obj)

返回数组的形状。

ma.size(obj[, axis])

返回给定轴上元素的数量。

ma.is_masked(x)

判断输入是否包含掩码值。

ma.is_mask(m)

如果m是一个有效的标准掩码,则返回True。

ma.isMaskedArray(x)

测试输入是否为MaskedArray的实例。

ma.isMA(x)

测试输入是否为MaskedArray的实例。

ma.isarray(x)

测试输入是否为MaskedArray的实例。

ma.isin(element, test_elements[, ...])

计算element in test_elements,仅在element上进行广播。

ma.in1d(ar1, ar2[, assume_unique, invert])

测试数组的每个元素是否也存在于第二个数组中。

ma.unique(ar1[, return_index, return_inverse])

查找数组的唯一元素。

ma.MaskedArray.all([axis, out, keepdims])

如果所有元素都计算为 True,则返回 True。

ma.MaskedArray.any([axis, out, keepdims])

如果 a 的任何元素计算为 True,则返回 True。

ma.MaskedArray.count([axis, keepdims])

沿给定轴计算数组中未掩码元素的数量。

ma.MaskedArray.nonzero()

返回非零且未掩码元素的索引。

ma.shape(obj)

返回数组的形状。

ma.size(obj[, axis])

返回给定轴上元素的数量。

ma.MaskedArray.data

返回底层数据,作为掩码数组的视图。

ma.MaskedArray.mask

当前掩码。

ma.MaskedArray.recordmask

如果数组没有命名字段,则获取或设置数组的掩码。


操作MaskedArray#

更改形状#

ma.ravel(self[, order])

返回self的一维版本,作为视图。

ma.reshape(a, new_shape[, order])

返回包含相同数据但具有新形状的数组。

ma.resize(x, new_shape)

返回一个具有指定大小和形状的新掩码数组。

ma.MaskedArray.flatten([order])

返回将数组压缩为一维的副本。

ma.MaskedArray.ravel([order])

返回self的一维版本,作为视图。

ma.MaskedArray.reshape(*s, **kwargs)

赋予数组新的形状,而不改变其数据。

ma.MaskedArray.resize(newshape[, refcheck, ...])

修改轴#

ma.swapaxes(self, *args, ...)

返回交换了axis1axis2的数组视图。

ma.transpose(a[, axes])

置换数组的维度。

ma.MaskedArray.swapaxes(axis1, axis2)

返回交换了axis1axis2的数组视图。

ma.MaskedArray.transpose(*axes)

返回具有转置轴的数组视图。

更改维度数量#

ma.atleast_1d

将输入转换为至少具有一个维度的数组。

ma.atleast_2d

将输入视为至少具有两个维度的数组。

ma.atleast_3d

将输入视为至少具有三个维度的数组。

ma.expand_dims(a, axis)

扩展数组的形状。

ma.squeeze

a中删除长度为一的轴。

ma.MaskedArray.squeeze([axis])

a中删除长度为一的轴。

ma.stack

沿新轴连接一系列数组。

ma.column_stack

将一维数组作为列堆叠到二维数组中。

ma.concatenate(arrays[, axis])

沿给定轴连接一系列数组。

ma.dstack

深度方向(沿第三轴)依次堆叠数组。

ma.hstack

水平方向(列方向)依次堆叠数组。

ma.hsplit

水平方向(列方向)将数组分割成多个子数组。

ma.mr_

将切片对象转换为沿第一轴的连接。

ma.vstack

垂直方向(行方向)依次堆叠数组。

连接数组#

ma.concatenate(arrays[, axis])

沿给定轴连接一系列数组。

ma.stack

沿新轴连接一系列数组。

ma.vstack

垂直方向(行方向)依次堆叠数组。

ma.hstack

水平方向(列方向)依次堆叠数组。

ma.dstack

深度方向(沿第三轴)依次堆叠数组。

ma.column_stack

将一维数组作为列堆叠到二维数组中。

ma.append(a, b[, axis])

将值附加到数组的末尾。


掩码操作#

创建掩码#

ma.make_mask(m[, copy, shrink, dtype])

从数组创建布尔掩码。

ma.make_mask_none(newshape[, dtype])

返回具有给定形状的布尔掩码,填充为False。

ma.mask_or(m1, m2[, copy, shrink])

使用logical_or运算符组合两个掩码。

ma.make_mask_descr(ndtype)

从给定的dtype构造dtype描述列表。

访问掩码#

ma.getmask(a)

返回掩码数组的掩码,或 nomask。

ma.getmaskarray(arr)

返回掩码数组的掩码,或全 False 的布尔数组。

ma.masked_array.mask

当前掩码。

查找掩码数据#

ma.ndenumerate(a[, compressed])

多维索引迭代器。

ma.flatnotmasked_contiguous(a)

在掩码数组中查找连续的未掩码数据。

ma.flatnotmasked_edges(a)

查找第一个和最后一个未掩码值的索引。

ma.notmasked_contiguous(a[, axis])

沿给定轴查找掩码数组中连续的未掩码数据。

ma.notmasked_edges(a[, axis])

查找沿轴的第一个和最后一个未掩码值的索引。

ma.clump_masked(a)

返回与一维数组的掩码块对应的切片列表。

ma.clump_unmasked(a)

返回与一维数组的未掩码块对应的切片列表。

修改掩码#

ma.mask_cols(a[, axis])

掩盖包含掩码值的二维数组的列。

ma.mask_or(m1, m2[, copy, shrink])

使用logical_or运算符组合两个掩码。

ma.mask_rowcols(a[, axis])

掩盖包含掩码值的二维数组的行和/或列。

ma.mask_rows(a[, axis])

掩盖包含掩码值的二维数组的行。

ma.harden_mask(self)

强制掩码变为硬掩码,防止通过赋值取消掩码。

ma.soften_mask(self)

强制掩码变为软掩码(默认),允许通过赋值取消掩码。

ma.MaskedArray.harden_mask()

强制掩码变为硬掩码,防止通过赋值取消掩码。

ma.MaskedArray.soften_mask()

强制掩码变为软掩码(默认),允许通过赋值取消掩码。

ma.MaskedArray.shrink_mask()

尽可能将掩码简化为nomask。

ma.MaskedArray.unshare_mask()

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


转换操作#

> 转换为掩码数组#

ma.asarray(a[, dtype, order])

将输入转换为给定数据类型的掩码数组。

ma.asanyarray(a[, dtype])

将输入转换为掩码数组,保留子类。

ma.fix_invalid(a[, mask, copy, fill_value])

返回输入数组,其中无效数据被掩码并替换为填充值。

ma.masked_equal(x, value[, copy])

掩盖数组中等于给定值的部分。

ma.masked_greater(x, value[, copy])

掩盖数组中大于给定值的部分。

ma.masked_greater_equal(x, value[, copy])

掩盖数组中大于或等于给定值的部分。

ma.masked_inside(x, v1, v2[, copy])

掩盖数组中位于给定区间内的部分。

ma.masked_invalid(a[, copy])

掩盖数组中出现无效值(NaN或inf)的部分。

ma.masked_less(x, value[, copy])

掩盖数组中小于给定值的部分。

ma.masked_less_equal(x, value[, copy])

掩盖数组中小于或等于给定值的部分。

ma.masked_not_equal(x, value[, copy])

掩盖数组中等于给定值的部分。

ma.masked_object(x, value[, copy, shrink])

掩盖数组x中数据完全等于value的部分。

ma.masked_outside(x, v1, v2[, copy])

掩盖数组中位于给定区间之外的部分。

ma.masked_values(x, value[, rtol, atol, ...])

使用浮点相等性进行掩码。

ma.masked_where(condition, a[, copy])

掩盖满足条件的数组部分。

> 转换为ndarray#

ma.compress_cols(a)

去除二维数组中包含掩码值的整列。

ma.compress_rowcols(x[, axis])

去除二维数组中包含掩码值的整行和/或整列。

ma.compress_rows(a)

去除二维数组中包含掩码值的整行。

ma.compressed(x)

将所有未掩码的数据作为一维数组返回。

ma.filled(a[, fill_value])

将输入作为ndarray返回,其中掩码值被fill_value替换。

ma.MaskedArray.compressed()

将所有未掩码的数据作为一维数组返回。

ma.MaskedArray.filled([fill_value])

返回self的副本,其中掩码值已填充给定值。

> 转换为其他对象#

ma.MaskedArray.tofile(fid[, sep, format])

以二进制格式将掩码数组保存到文件。

ma.MaskedArray.tolist([fill_value])

将掩码数组的数据部分作为分层Python列表返回。

ma.MaskedArray.torecords()

将掩码数组转换为灵活类型数组。

ma.MaskedArray.tobytes([fill_value, order])

将数组数据作为包含数组中原始字节的字符串返回。

填充掩码数组#

ma.common_fill_value(a, b)

返回两个掩码数组的公共填充值(如果有)。

ma.default_fill_value(obj)

返回参数对象的默认填充值。

ma.maximum_fill_value(obj)

返回对象dtype可以表示的最小值。

ma.minimum_fill_value(obj)

返回对象dtype可以表示的最大值。

ma.set_fill_value(a, fill_value)

如果a是掩码数组,则设置a的填充值。

ma.MaskedArray.get_fill_value()

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

ma.MaskedArray.set_fill_value([value])

ma.MaskedArray.fill_value

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


掩码数组算术#

算术运算#

ma.anom(self[, axis, dtype])

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

ma.anomalies(self[, axis, dtype])

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

ma.average(a[, axis, weights, returned, ...])

返回沿给定轴的数组的加权平均值。

ma.conjugate(x, /[, out, where, casting, ...])

返回逐元素的复共轭。

ma.corrcoef(x[, y, rowvar, bias, ...])

返回皮尔逊积矩相关系数。

ma.cov(x[, y, rowvar, bias, allow_masked, ddof])

估计协方差矩阵。

ma.cumsum(self[, axis, dtype, out])

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

ma.cumprod(self[, axis, dtype, out])

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

ma.mean(self[, axis, dtype, out, keepdims])

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

ma.median(a[, axis, out, overwrite_input, ...])

沿指定的轴计算中位数。

ma.power(a, b[, third])

返回第二个数组的幂次方后的基数组的逐元素结果。

ma.prod(self[, axis, dtype, out, keepdims])

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

ma.std(self[, axis, dtype, out, ddof, ...])

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

ma.sum(self[, axis, dtype, out, keepdims])

返回沿指定轴的数组元素之和。

ma.var(self[, axis, dtype, out, ddof, ...])

计算沿指定轴的方差。

ma.MaskedArray.anom([axis, dtype])

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

ma.MaskedArray.cumprod([axis, dtype, out])

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

ma.MaskedArray.cumsum([axis, dtype, out])

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

ma.MaskedArray.mean([axis, dtype, out, keepdims])

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

ma.MaskedArray.prod([axis, dtype, out, keepdims])

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

ma.MaskedArray.std([axis, dtype, out, ddof, ...])

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

ma.MaskedArray.sum([axis, dtype, out, keepdims])

返回沿指定轴的数组元素之和。

ma.MaskedArray.var([axis, dtype, out, ddof, ...])

计算沿指定轴的方差。

最小值/最大值#

ma.argmax(self[, axis, fill_value, out])

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

ma.argmin(self[, axis, fill_value, out])

返回沿指定轴的最小值的索引数组。

ma.max(obj[, axis, out, fill_value, keepdims])

返回沿指定轴的最大值。

ma.min(obj[, axis, out, fill_value, keepdims])

返回沿指定轴的最小值。

ma.ptp(obj[, axis, out, fill_value, keepdims])

返回沿指定维度上的 (最大值 - 最小值)(即峰峰值)。

ma.diff(a, /[, n, axis, prepend, append])

计算沿指定轴的 n 次离散差分。

ma.MaskedArray.argmax([axis, fill_value, ...])

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

ma.MaskedArray.argmin([axis, fill_value, ...])

返回沿指定轴的最小值的索引数组。

ma.MaskedArray.max([axis, out, fill_value, ...])

返回沿指定轴的最大值。

ma.MaskedArray.min([axis, out, fill_value, ...])

返回沿指定轴的最小值。

ma.MaskedArray.ptp([axis, out, fill_value, ...])

返回沿指定维度上的 (最大值 - 最小值)(即峰峰值)。

排序#

ma.argsort(a[, axis, kind, order, endwith, ...])

返回一个 ndarray,其中包含沿指定轴对数组进行排序的索引。

ma.sort(a[, axis, kind, order, endwith, ...])

返回掩码数组的已排序副本。

ma.MaskedArray.argsort([axis, kind, order, ...])

返回一个 ndarray,其中包含沿指定轴对数组进行排序的索引。

ma.MaskedArray.sort([axis, kind, order, ...])

对数组进行就地排序。

代数#

ma.diag(v[, k])

提取对角线或构造对角线数组。

ma.dot(a, b[, strict, out])

返回两个数组的点积。

ma.identity(n[, dtype])

返回单位阵。

ma.inner(a, b, /)

两个数组的内积。

ma.innerproduct(a, b, /)

两个数组的内积。

ma.outer(a, b)

计算两个向量的外积。

ma.outerproduct(a, b)

计算两个向量的外积。

ma.trace(self[, offset, axis1, axis2, ...])

返回数组对角线的总和。

ma.transpose(a[, axes])

置换数组的维度。

ma.MaskedArray.trace([offset, axis1, axis2, ...])

返回数组对角线的总和。

ma.MaskedArray.transpose(*axes)

返回具有转置轴的数组视图。

多项式拟合#

ma.vander(x[, n])

生成范德蒙矩阵。

ma.polyfit(x, y, deg[, rcond, full, w, cov])

最小二乘多项式拟合。

裁剪和舍入#

ma.around

将数组舍入到给定的十进制位数。

ma.clip

裁剪(限制)数组中的值。

ma.round(a[, decimals, out])

返回 a 的副本,舍入到“decimals”位。

ma.MaskedArray.clip([min, max, out])

返回一个数组,其值限制在[min, max]

ma.MaskedArray.round([decimals, out])

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

集合运算#

ma.intersect1d(ar1, ar2[, assume_unique])

返回两个数组共有的唯一元素。

ma.setdiff1d(ar1, ar2[, assume_unique])

具有唯一元素的一维数组的集合差。

ma.setxor1d(ar1, ar2[, assume_unique])

具有唯一元素的一维数组的集合异或。

ma.union1d(ar1, ar2)

两个数组的并集。

其他#

ma.allequal(a, b[, fill_value])

如果 a 和 b 的所有条目都相等,则返回 True,在 a 或 b 或两者都被掩码的地方使用 fill_value 作为真值。

ma.allclose(a, b[, masked_equal, rtol, atol])

如果两个数组在容差范围内逐元素相等,则返回 True。

ma.amax(a[, axis, out, keepdims, initial, where])

返回数组的最大值或沿轴的最大值。

ma.amin(a[, axis, out, keepdims, initial, where])

返回数组的最小值或沿轴的最小值。

ma.apply_along_axis(func1d, axis, arr, ...)

将函数应用于沿给定轴的一维切片。

ma.apply_over_axes(func, a, axes)

将函数重复应用于多个轴。

ma.arange([start,] stop[, step,][, dtype, ...])

返回给定区间内的等间距值。

ma.choose(indices, choices[, out, mode])

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

ma.compress_nd(x[, axis])

抑制包含掩码值的多个维度中的切片。

ma.convolve(a, v[, mode, propagate_mask])

返回两个一维序列的离散线性卷积。

ma.correlate(a, v[, mode, propagate_mask])

两个一维序列的互相关。

ma.ediff1d(arr[, to_end, to_begin])

计算数组中连续元素之间的差值。

ma.flatten_mask(mask)

返回掩码的完全扁平化版本,其中嵌套字段被折叠。

ma.flatten_structured_array(a)

扁平化结构化数组。

ma.fromflex(fxarray)

根据合适的灵活类型数组构建掩码数组。

ma.indices(dimensions[, dtype, sparse])

返回表示网格索引的数组。

ma.left_shift(a, n)

将整数的位向左移动。

ma.ndim(obj)

返回数组的维度数。

ma.put(a, indices, values[, mode])

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

ma.putmask(a, mask, values)

基于条件和输入值更改数组的元素。

ma.right_shift(a, n)

将整数的位向右移动。

ma.round_(a[, decimals, out])

返回 a 的副本,舍入到“decimals”位。

ma.take(a, indices[, axis, out, mode])

ma.where(condition[, x, y])

返回一个掩码数组,其元素来自xy,取决于条件。