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中遍历文件的3个方法
Sep 02 Python
python概率计算器实例分析
Mar 25 Python
python 生成器生成杨辉三角的方法(必看)
Apr 10 Python
Python中单例模式总结
Feb 20 Python
python使用opencv按一定间隔截取视频帧
Mar 06 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
Python实现SQL注入检测插件实例代码
Feb 02 Python
Python配置虚拟环境图文步骤
May 20 Python
Python中用pyinstaller打包时的图标问题及解决方法
Feb 17 Python
Django如何使用jwt获取用户信息
Apr 21 Python
python 提取html文本的方法
May 20 Python
python中字符串String及其常见操作指南(方法、函数)
Apr 06 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代码
2012/07/14 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php中Y2K38的漏洞解决方法实例分析
2014/09/22 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
JavaScript中的Math.atan2()方法使用详解
2015/06/15 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
基于jPlayer三分屏的制作方法
2016/12/21 Javascript
jQuery鼠标悬停内容动画切换效果
2017/04/27 jQuery
require.js中的define函数详解
2017/07/10 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
基于vue.js实现分页查询功能
2018/12/29 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
js实现列表按字母排序
2020/08/11 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[02:28]PWL开团时刻DAY3——Ink Ice与DeMonsTer之间的勾心斗角
2020/11/03 DOTA
python自动格式化json文件的方法
2015/03/11 Python
Python创建xml文件示例
2017/03/22 Python
10款最好的Python开发编辑器
2019/07/03 Python
python写入文件自动换行问题的方法
2019/07/05 Python
学院书画协会部门岗位职责
2013/12/01 职场文书
导游的职业规划书范文
2013/12/27 职场文书
信息管理应届生求职信
2014/03/07 职场文书
放飞理想演讲稿
2014/09/09 职场文书
导游词幽默开场白
2019/06/26 职场文书
担保书范文
2019/07/09 职场文书
如何正确理解python装饰器
2021/06/15 Python
Java Dubbo框架知识点梳理
2021/06/26 Java/Android
golang使用map实现去除重复数组
2022/04/14 Golang