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脚本的输出结果实例
Jan 04 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Python干货:分享Python绘制六种可视化图表
Aug 27 Python
Python根据欧拉角求旋转矩阵的实例
Jan 28 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
Python logging设置和logger解析
Aug 28 Python
python中栈的原理及实现方法示例
Nov 27 Python
Python关于反射的实例代码分享
Feb 20 Python
查看keras的默认backend实现方式
Jun 19 Python
pytorch查看网络参数显存占用量等操作
May 12 Python
python运算符之与用户交互
Apr 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
thinkphp实现like模糊查询实例
2014/10/29 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
laravel 出现command not found问题的解决方案
2019/10/23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
jquery动态调整div大小使其宽度始终为浏览器宽度
2014/06/06 Javascript
jQuery截取指定长度字符串代码
2014/08/21 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
让div运动起来 js实现缓动效果
2017/07/06 Javascript
JavaScript 保护变量不被随意修改的实现代码
2017/09/27 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
python opencv之SIFT算法示例
2018/02/24 Python
python复制文件到指定目录的实例
2018/04/27 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
Python turtle库的画笔控制说明
2020/06/28 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
Java工程师面试集锦之Spring框架
2013/06/16 面试题
家长会演讲稿范文
2014/01/10 职场文书
大四毕业生自荐书
2014/07/05 职场文书
政风行风评议整改方案
2014/09/15 职场文书
党员教师个人对照检查材料(群众路线)
2014/09/26 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
留学推荐信英文范文
2015/03/26 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
利用JuiceFS使MySQL 备份验证性能提升 10 倍
2022/03/17 MySQL