📜  Python| Numpy MaskedArray.__sub__(1)

📅  最后修改于: 2023-12-03 15:19:13.799000             🧑  作者: Mango

Python | Numpy MaskedArray.sub

Numpy是一个用于科学计算的Python模块,提供了高效的数组操作和数学计算功能。MaskedArrayNumpy中的一个数组类,该类允许在数组中使用遮盖值来表示缺失的或无效的数据。

MaskedArray.__sub__()方法用于将遮罩数组中的所有非遮罩元素减去指定的值,并返回一个新的遮罩数组。

语法

numpy.MaskedArray.__sub__(other, *args, **kwargs)

参数
  • other: 减数,可以是标量、数组或MaskedArray对象。
  • args:如果other是数组或MaskedArray对象,则可以通过额外的参数指定运算的根据。下面是可用的参数:

| 参数 | 描述 | | --- | --- | | out | 用于保存结果的输出可选数组。 | | where | 布尔数组或条件表达式,表示只有True的元素才参与运算。 | | casting | 字符串,表示数据转换规则,默认值为'unsafe'。 | | order | 'C'表示按行排列存储,'F'表示按列排列存储,默认值为'K'。 |

  • kwargs:如果other是MaskedArray对象,则可以通过关键字参数指定其他操作。下面是可用的关键字参数:

| 参数 | 描述 | | --- | --- | | 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()创建了两个遮罩数组ab,然后使用__sub__()方法从b中减去了a。输出结果是一个遮罩数组c,其中data数组中的元素是b-a的结果,而mask数组中的元素表示哪些元素没有被计算。在这个例子中,data数组中的第一个元素为2-1=1,第二个元素没有被计算(因为在ab中都被遮罩了),后面的元素也没有被计算,因为它们在a中被遮罩了。