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计数排序和基数排序算法实例
Apr 25 Python
python实现xlsx文件分析详解
Jan 02 Python
python定向爬取淘宝商品价格
Feb 27 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
用python爬取历史天气数据的方法示例
Dec 30 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
python开发入门——列表生成式
Sep 03 Python
关于python scrapy中添加cookie踩坑记录
Nov 17 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 Python
7个关于Python的经典基础案例
Nov 07 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
一个用于网络的工具函数库
2006/10/09 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
AngularJS入门教程之更多模板详解
2016/08/19 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
Angular2之二级路由详解
2018/08/31 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
深入理解python多进程编程
2016/06/12 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
瑞士最大的图书贸易公司:Orell Füssli
2019/12/28 全球购物
人事专员岗位职责
2013/11/20 职场文书
大四学生思想汇报
2014/01/13 职场文书
暑期学习心得体会
2014/09/02 职场文书
地方课程教学计划
2015/01/19 职场文书
婚前保证书范文
2015/02/28 职场文书
法定代表人资格证明书
2015/06/18 职场文书
怎样写工作总结啊!
2019/06/18 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
Python加密技术之RSA加密解密的实现
2022/04/08 Python
Python Pandas解析读写 CSV 文件
2022/04/11 Python