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解析html开发库pyquery使用方法
Feb 07 Python
Python获取单个程序CPU使用情况趋势图
Mar 10 Python
在Python的Django框架中生成CSV文件的方法
Jul 22 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
python开发利器之ulipad的使用实践
Mar 16 Python
python中abs&map&reduce简介
Feb 20 Python
Python 实现一行输入多个值的方法
Apr 21 Python
Tensorflow卷积神经网络实例进阶
May 24 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
Python抓新型冠状病毒肺炎疫情数据并绘制全国疫情分布的代码实例
Feb 05 Python
Python3监控疫情的完整代码
Feb 20 Python
如何使用scrapy中的ItemLoader提取数据
Sep 30 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
虫族 Zerg 魔法科技
2020/03/14 星际争霸
PHP Session变量不能传送到下一页的解决方法
2009/11/27 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
深入解析PHP的引用计数机制
2013/06/14 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
php 多文件上传的实现实例
2016/10/23 PHP
php创建图像具体步骤
2017/03/13 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
Javascript 学习书 推荐
2009/06/13 Javascript
chrome原生方法之数组
2011/11/30 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
js实现div色块碰撞
2020/01/16 Javascript
一篇文章看懂JavaScript中的回调
2021/01/05 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python使用numpy实现BP神经网络
2018/03/10 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
对python文件读写的缓冲行为详解
2019/02/13 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
如何真正的了解python装饰器
2020/08/14 Python
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
《可爱的动物》教学反思
2014/02/22 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
工作证明英文模板
2014/10/21 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
MySQL数据库实验之 触发器和存储过程
2022/06/21 MySQL
spring 项目实现限流方法示例
2022/07/15 Java/Android