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

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。最后,我们打印了原数组、掩码数组和有效数据(未被掩码覆盖的部分)。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木彳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值