【Python】【Numpy】np.ma.array()函数详解和运行示例

发布时间:2024年01月20日

np.ma.array 是 NumPy 库中的一个函数,用于创建一个 Masked Array(带掩码的数组)。Masked Array 是一种特殊类型的数组,其中某些元素可能被标记为无效或缺失。在处理这些数组时,这些被标记为无效的元素将被忽略。

函数详解

函数详解:


numpy.ma.array(object, mask)
参数说明:

object:输入数据,可以是任何可以被转换为数组的对象。
maks:掩码,类型也是array

运行示例

简单的掩码数组

import numpy as np

data = np.array([1, 2, np.nan, 4, np.inf])
masked_array = np.ma.array(data)
print(masked_array)

输出:

[ 1.  2. nan  4. inf]

数据筛选

import numpy as np

##通过掩码对数据进行筛选
data=np.random.randint(9,size=8)

mask=np.array([0,1,2,3,0,5,0,0])
print("data:",data)
masked_array = np.ma.array(data,mask=mask)

print("masked_array",masked_array)

输出:

data: [5 7 1 5 8 2 2 6]
masked_array [5 -- -- -- 8 -- 2 6]

二维数据

import numpy as np

# 创建一个示例数组
a = np.array([[1, 2, 3], [4, 5, 6]])

# 创建一个与 a 形状相同的掩码数组
mask = np.array([[True, False, False], [False, True, False]])

# 使用 np.ma.array 创建带掩码的数组
arr = np.ma.array(a, mask=mask)

print("原数组:\n", arr.data)  # 输出原数组
print("掩码:\n", arr.mask)  # 输出掩码数组
print("有效数据:\n", arr.compressed())  # 输出有效数据(未被掩码覆盖的部分)

输出:

原数组:
 [[1 2 3]
 [4 5 6]]
掩码:
 [[ True False False]
 [False  True False]]
有效数据:
 [2 3 4 6]

在这个示例中,我们创建了一个形状为 (2, 3) 的数组 a,并使用一个形状相同的掩码数组 mask 来标记哪些元素是有效的。通过 np.ma.array 函数,我们创建了一个带掩码的数组 arr。最后,我们打印了原数组、掩码数组和有效数据(未被掩码覆盖的部分)。

文章来源:https://blog.csdn.net/qq_22734027/article/details/135702220
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。