Numpy掩码数组masked arrays

1.Masked arrays数据介绍
掩码数组是包括可能缺少或无效项的数组。在许多情况下,数据集可能不完整或被无效数据污染。例如,传感器可能无法记录数据,或记录了无效的值。numpy.ma模块通过引入掩码数组提供了一种方便的方法来解决这个问题。

掩码数组是标准 numpy.ndarray 和掩码的组合.

当掩码的一个元素为False时,关联数组的相应元素有效,并被称为已解除掩码。当掩码的一个元素为True时,关联数组的相应元素被称为掩码(无效)。
在这里插入图片描述
2.掩码数组基本操作
参考官网文档:https://numpy.org/devdocs/reference/routines.ma.html
(1)创建掩码数组

import numpy as np
 
a = np.ma.array([1, 2, 3], mask = [0, 1, 0])

(2)Filling a masked array:ma.set_fill_value(a, fill_value)[source]
将NaN填充为0:

x = np.ma.array(np.arange(9).reshape(3, 3), mask=[[1, 0, 0],
                                                  [1, 0, 0],
                                                  [0, 0, 0]])
x.filled(fill_value=0)

在这里插入图片描述
(3)只访问有效元素
法1:可以使用numpy.logical_not函数或简单使用~运算符计算掩码的逆

x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) 
x[~x.mask]

法2:compressed方法:x.compressed()
compressed的返回值通常为1维。

3.掩码数组应用
参考资料:https://github.com/wzy6642/numpy-translate/blob/master/ma.ipynb
(1)利用特殊值表示缺失值

  • 如利用平均值表示缺失值:mx.filled(mx.mean())
  • 对缺失值进行填充:mx.filled(mx.mean(0))缺失值NaN = 0;

参考资料:
1.numpy.ma详解
2.numpy.ma模块介绍-GitHub:https://github.com/wzy6642/numpy-translate/blob/master/ma.ipynb
3.官网资料https://numpy.org/doc/stable/reference/maskedarray.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值