📅  最后修改于: 2023-12-03 15:19:13.799000             🧑  作者: Mango
Numpy
是一个用于科学计算的Python模块,提供了高效的数组操作和数学计算功能。MaskedArray
是Numpy
中的一个数组类,该类允许在数组中使用遮盖值来表示缺失的或无效的数据。
MaskedArray.__sub__()
方法用于将遮罩数组中的所有非遮罩元素减去指定的值,并返回一个新的遮罩数组。
numpy.MaskedArray.__sub__(other, *args, **kwargs)
| 参数 | 描述 | | --- | --- | | out | 用于保存结果的输出可选数组。 | | where | 布尔数组或条件表达式,表示只有True的元素才参与运算。 | | casting | 字符串,表示数据转换规则,默认值为'unsafe'。 | | order | 'C'表示按行排列存储,'F'表示按列排列存储,默认值为'K'。 |
| 参数 | 描述 | | --- | --- | | mask | 布尔数组,表示需要遮罩的元素。 | | keep_mask | 布尔值,表示是否保留掩模,在新创建的数组上使用。默认值为True。 | | as_marray | 布尔值,表示是否强制将输出转换为MaskedArray。默认值为False。 |
返回一个新的遮罩数组。
import numpy as np
# 创建两个的MaskedArray对象
a = np.ma.array([1, 2, 3, 4], mask=[False, False, True, True])
b = np.ma.array([2, 4, 6, 8], mask=[False, True, False, True])
# 对MaskedArray对象进行减法运算
c = a.__sub__(b)
# 输出结果
print(c)
输出结果为:
masked_array(data=[-1, --, --, --],
mask=[False, True, True, True],
fill_value=999999)
上面的示例中,首先使用np.ma.array()
创建了两个遮罩数组a
和b
,然后使用__sub__()
方法从b
中减去了a
。输出结果是一个遮罩数组c
,其中data
数组中的元素是b-a
的结果,而mask
数组中的元素表示哪些元素没有被计算。在这个例子中,data
数组中的第一个元素为2-1=1
,第二个元素没有被计算(因为在a
和b
中都被遮罩了),后面的元素也没有被计算,因为它们在a
中被遮罩了。