Numpy掩码式数组详解


Posted in Python onApril 17, 2018

数据很大形况下是凌乱的,并且含有空白的或者无法处理的字符,掩码式数组可以很好的忽略残缺的或者是无效的数据点。掩码式数组由一个正常数组与一个布尔式数组组成,若布尔数组中为Ture,则表示正常数组中对应下标的值无效,反之False表示对应正常数组的值有效。

创建方法为,首先创建一个布尔型数组,然后通过numpy.ma子程序包提供的函数来创建掩码式数组,掩码式数组提供了各种所需函数。

创建实例如下:

import numpy as np
origin = np.arange(16).reshape(4,4)  #生成一个4×4的矩阵
np.random.shuffle(origin)     #随机打乱矩阵元素
random_mask = np.random.randint(0,2,size=origin.shape)#生成随机[0,2)的整数的4×4矩阵
mask_array = np.ma.array(origin,mask=random_mask)#生成掩码式矩阵
print(mask_array)

结果如下:

[[12 13 -- 15]
 [8 9 10 --]
 [-- -- -- 3]
 [-- 5 6 --]]

用于:

1.对负数取对数

import numpy as np
triples = np.arange(0,10,3)#每隔3取0到10中的整数,(0,3,6,9)
signs = np.ones(10)#(1,1,1,1,1,1,1,1,1)
signs[triples] = -1#(-1,1,1,-1,1,1,-1,1,1,-1)
values = signs * 77#(-77,77,77,-77,77,77,-77,77,77,-77)
ma_log = np.ma.log(values)#掩码式取对数
print(ma_log)

结果为:

[-- 4.343805421853684 4.343805421853684 -- 4.343805421853684
 4.343805421853684 -- 4.343805421853684 4.343805421853684 --]

2.忽略极值

import numpy as np
inside = np.ma.masked_outside(array,min,max)

以上这篇Numpy掩码式数组详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之lambda表达式使用方法
Feb 12 Python
python实现的一个p2p文件传输实例
Jun 04 Python
Python HTMLParser模块解析html获取url实例
Apr 08 Python
详解python 发送邮件实例代码
Dec 22 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
python requests 测试代理ip是否生效
Jul 25 Python
python实现一个简单的ping工具方法
Jan 31 Python
Python两个字典键同值相加的几种方法
Mar 05 Python
python3.5安装python3-tk详解
Apr 26 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
python 使用三引号时容易犯的小错误
Oct 21 Python
Python实现随机生成迷宫并自动寻路
Jun 13 Python
对numpy中布尔型数组的处理方法详解
Apr 17 #Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 #Python
python3库numpy数组属性的查看方法
Apr 17 #Python
对python中的for循环和range内置函数详解
Apr 17 #Python
Numpy数组转置的两种实现方法
Apr 17 #Python
详解Django之auth模块(用户认证)
Apr 17 #Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 #Python
You might like
php的hash算法介绍
2014/02/13 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
php实现微信公众号无限群发
2015/10/11 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
不能再简单的无闪刷新验证码原理很简单
2007/11/05 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
JavaScript递归操作实例浅析
2016/10/31 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
详解elementUI中input框无法输入的问题
2020/04/27 Javascript
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
Python中存取文件的4种不同操作
2018/07/02 Python
python重要函数eval多种用法解析
2020/01/14 Python
python实现串口通信的示例代码
2020/02/10 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
信息专业本科生个人的自我评价
2013/10/28 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
毕业典礼邀请函
2015/01/31 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
被告代理词范文
2015/05/25 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
图神经网络GNN算法
2022/05/11 Python