栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Numpy掩码数组masked arrays

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934850.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号