掩码数组操作#

常量#

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

创建一个二维数组,其对角线为展平的输入.

一和零#

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

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

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

返回一个给定形状和类型的新数组,用零填充.

ma.zeros_like

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


检查数组#

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)

返回一个掩码数组的掩码,或者没有掩码.

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)

返回一个掩码数组的掩码,或者没有掩码.

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()

在可能的情况下将掩码减少到无掩码.

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 中,将数据完全等于该值的位置进行掩码.

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])

返回一个自身的副本,用给定的值填充掩码值.

> 到另一个对象#

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,使用 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, ...)

沿给定轴对1-D切片应用函数.

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 元素组成的掩码数组.