带掩码数组操作#

常量#

ma.MaskType

别名:bool

创建#

从现有数据创建#

ma.masked_array

别名:MaskedArray

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

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

ma.copy(a.copy)

返回数组的副本。

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

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

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

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

ma.MaskedArray.copy([order])

返回数组的副本。

ma.diagflat(v[, k])

创建一个以扁平化输入为对角线的二维数组。

一和零#

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, device, like, ...])

返回一个给定形状和类型的、用 1 填充的新数组。

ma.ones_like(a[, dtype, order, subok, ...])

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

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

返回一个给定形状和类型的、用 0 填充的新数组。

ma.zeros_like(a[, dtype, order, subok, ...])

返回一个与给定数组具有相同形状和类型的、用 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

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


操作带掩码数组#

改变形状#

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(a.swapaxes)

返回数组的视图,其中 axis1axis2 已交换。

ma.transpose(a[, axes])

排列数组的维度。

ma.MaskedArray.swapaxes(axis1, axis2, /)

返回数组的视图,其中 axis1axis2 已交换。

ma.MaskedArray.transpose(*axes)

返回一个视图,其中数组的轴已转置。

改变维度数#

ma.atleast_1d(*arys)

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

ma.atleast_2d(*arys)

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

ma.atleast_3d(*arys)

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

ma.expand_dims(a, axis)

扩展数组的形状。

ma.squeeze(a[, axis, fill_value, hardmask])

a 中移除长度为一的轴。

ma.MaskedArray.squeeze([axis])

a 中移除长度为一的轴。

ma.stack(arrays[, axis, out, dtype, casting])

沿新轴连接数组序列。

ma.column_stack(tup)

将 1D 数组作为列堆叠到 2D 数组中。

ma.concatenate(arrays[, axis])

沿给定轴连接数组序列。

ma.dstack(tup)

按顺序按深度(沿第三轴)堆叠数组。

ma.hstack(tup, *[, dtype, casting])

按顺序水平(逐列)堆叠数组。

ma.hsplit(ary, indices_or_sections)

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

ma.mr_

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

ma.vstack(tup, *[, dtype, casting])

按顺序垂直(逐行)堆叠数组。

连接数组#

ma.concatenate(arrays[, axis])

沿给定轴连接数组序列。

ma.stack(arrays[, axis, out, dtype, casting])

沿新轴连接数组序列。

ma.vstack(tup, *[, dtype, casting])

按顺序垂直(逐行)堆叠数组。

ma.hstack(tup, *[, dtype, casting])

按顺序水平(逐列)堆叠数组。

ma.dstack(tup)

按顺序按深度(沿第三轴)堆叠数组。

ma.column_stack(tup)

将 1D 数组作为列堆叠到 2D 数组中。

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

将值附加到数组的末尾。


掩码操作#

创建掩码#

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

从数组创建布尔掩码。

ma.make_mask_none(newshape[, dtype])

返回一个布尔掩码,形状为 newshape,并填充 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, order])

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

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

当数据与 value 完全相等时掩码数组 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])

返回 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, allow_masked])

返回 Pearson 积矩相关系数。

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

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

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

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

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

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

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

原地对数组进行排序

代数#

ma.diag(v[, k])

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

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

返回两个数组的点积。

ma.identity(n[, dtype, like, fill_value, ...])

返回单位矩阵。

ma.inner(a, b, /)

两个数组的内积。

ma.innerproduct(a, b, /)

两个数组的内积。

ma.outer(a, b)

计算两个向量的外积。

ma.outerproduct(a, b)

计算两个向量的外积。

ma.trace(a.trace)

返回数组对角线上的元素之和。

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(a[, a_min, a_max, out, min, max, ...])

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

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

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

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

根据条件,从x或y中返回一个带有元素的掩码数组。