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函数嵌套实例
Sep 23 Python
python实现马耳可夫链算法实例分析
May 20 Python
举例讲解Linux系统下Python调用系统Shell的方法
Nov 07 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
Python装饰器原理与简单用法实例分析
Apr 29 Python
python K近邻算法的kd树实现
Sep 06 Python
python numpy 按行归一化的实例
Jan 21 Python
在python中实现同行输入/接收多个数据的示例
Jul 20 Python
python实现人工智能Ai抠图功能
Sep 05 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
Flask 上传自定义头像的实例详解
Jan 09 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 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修改session_id示例代码
2014/01/08 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
脚本收藏iframe
2006/07/21 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
javaScript知识点总结(必看篇)
2016/06/10 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
微信小程序实现蒙版弹窗效果
2018/11/01 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python中的map、reduce和filter浅析
2014/04/26 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Python对列表的操作知识点详解
2019/08/20 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
文秘自荐信
2013/10/20 职场文书
生产车间标语
2014/06/11 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
java实现面板之间切换功能
2022/06/10 Java/Android
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js