📅  最后修改于: 2023-12-03 15:03:19.460000             🧑  作者: Mango
numpy.ma.make_mask()
是mask Module中的函数。
numpy.ma
是numpy中用于处理missing values的module。make_mask()
用于生成一个新的mask object。numpy.ma.make_mask(a, copy=True, shrink=True, dtype=None, order='K')
参数:
a
:array_like, 要mask化的数组copy
:bool, 可选,是否复制源数组, 默认为 Trueshrink
:bool, 可选,是否将mask尽量的小, 默认为 Truedtype
:data-type, 可选,定义生成mask数组的数据类型,默认为None,即默认数据类型order
:str, 可选,用于复制输入array数据的memory layout。表示内存块的排列方式,有8种选项,一般用默认方式'K'返回值:
返回一个MaskedArray
,是完全构建好的mask数组。
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
mask = np.ma.make_mask(arr==3)
# 上面的一行相当于下面两行的结合
# mask = np.ones_like(arr, bool)
# mask[np.where(arr==3)] = False
生成了一个与arr
数组形状一致,数值全为True,除了等于3的数值对应的位置是False的mask数组。
返回值类型为MaskedArray
:
print(mask)
# mask result: [ True True False True True]
print(type(mask))
# result: numpy.ma.core.MaskedArray