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使用多线程不断刷新网页的方法
Mar 31 Python
python使用htmllib分析网页内容的方法
May 08 Python
Python 中的with关键字使用详解
Sep 11 Python
python之super的使用小结
Aug 13 Python
用python生成1000个txt文件的方法
Oct 25 Python
Python http接口自动化测试框架实现方法示例
Dec 06 Python
Python Numpy计算各类距离的方法
Jul 05 Python
Python 如何提高元组的可读性
Aug 26 Python
Python绘制二维曲线的日常应用详解
Dec 04 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 Python
分享3个非常实用的 Python 模块
Mar 03 Python
Python字符串的转义字符
Apr 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
提升PHP性能的21种方法介绍
2013/06/25 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
Javascript图像处理—虚拟边缘介绍及使用方法
2012/12/27 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
ionic3 懒加载
2017/08/16 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
Python连接MySQL并使用fetchall()方法过滤特殊字符
2016/03/13 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Python TKinter如何自动关闭主窗口
2020/02/26 Python
linux面试题参考答案(4)
2013/01/28 面试题
优秀员工年终发言演讲稿
2014/01/01 职场文书
应届毕业生自荐信
2014/05/28 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
2014年检验科工作总结
2014/11/22 职场文书
客户付款通知书
2015/04/23 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书