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去掉字符串中重复字符的方法
Feb 27 Python
Python中的filter()函数的用法
Apr 27 Python
Python计算已经过去多少个周末的方法
Jul 25 Python
Python实现简单过滤文本段的方法
May 24 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
Aug 21 Python
Python闭包思想与用法浅析
Dec 27 Python
python实现函数极小值
Jul 10 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
Django实现基于类的分页功能
Oct 31 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
基于opencv实现简单画板功能
Aug 02 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 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
64位windows系统下安装Memcache缓存
2015/12/06 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
js tab 选项卡
2009/04/26 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JS实现点击下载的小例子
2013/07/10 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
JS中自定义定时器让它在某一时刻执行
2014/09/02 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
jQuery 查找元素操作实例小结
2019/10/02 jQuery
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
Django URL传递参数的方法总结
2016/08/28 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
Django模板语言 Tags使用详解
2019/09/09 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
美国电视购物HSN官网:HSN
2016/09/07 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
工程总经理工作职责
2013/12/09 职场文书
会计专业求职信范文
2015/03/19 职场文书
员工拾金不昧表扬稿
2015/05/05 职场文书