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 Shell获取hostname和fqdn释疑
Jan 25 Python
Tesserocr库的正确安装方式
Oct 19 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
在python中以相同顺序shuffle两个list的方法
Dec 13 Python
浅谈python标准库--functools.partial
Mar 13 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
May 16 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
pycharm 对代码做静态检查操作
Jun 09 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
Python创建自己的加密货币的示例
Mar 01 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
phplot生成图片类用法详解
2015/01/06 PHP
php进程间通讯实例分析
2016/07/11 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP实现从上往下打印二叉树的方法
2018/01/18 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
微信小程序之选项卡的实现方法
2017/09/29 Javascript
详解jQuery中的easyui
2018/09/02 jQuery
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
微信小程序实现点击空白隐藏的方法示例
2019/08/13 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
python树莓派红外反射传感器
2019/01/21 Python
Python数据存储之 h5py详解
2019/12/26 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
高级Java程序员面试题
2016/06/23 面试题
实习生体会的自我评价范文
2013/11/28 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
老师对学生的寄语
2014/04/09 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
大学生实训报告总结
2014/11/05 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python