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中的应用之translate和maketrans用法详解
Aug 27 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
解决python中使用PYQT时中文乱码问题
Jun 17 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
导致python中import错误的原因是什么
Jul 01 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 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 身份验证方面的函数
2009/10/11 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php引用传值实例详解学习
2013/11/06 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
PHP微信支付结果通知与回调策略分析
2019/01/10 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
2020/02/03 PHP
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
js HTML5多媒体影音播放
2016/10/17 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
python实现对csv文件的列的内容读取
2018/07/04 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
Python for循环与getitem的关系详解
2020/01/02 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
表彰先进的通报
2014/01/31 职场文书
巡警年度自我鉴定
2014/02/21 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
Golang实现可重入锁的示例代码
2022/05/25 Golang