numpy使用技巧之数组过滤实例代码


Posted in Python onFebruary 03, 2018

本文研究的主要是numpy使用技巧之数组过滤的相关内容,具体如下。

当使用布尔数组b作为下标存取数组x中的元素时,将收集数组x中所有在数组b中对应下标为True的元素。使用布尔数组作为下标获得的数组不和原始数组共享数据空间,注意这种方式只对应于布尔数组(array),不能使用布尔列表(list)。

>>> x = np.arange(5,0,-1)
>>> x
array([5, 4, 3, 2, 1])
>>> x[np.array([True, False, True, False, False])]
>>> # 下标为True的取出来,布尔数组中下标为0,2的元素为True,因此获取x中下标为0,2的元素
array([5, 3])
>>> x[[True, False, True, False, False]]#Error,这不是我们想要的结果
>>> # 如果是布尔列表,则把True当作1, False当作0,按照整数序列方式获取x中的元素
array([4, 5, 4, 5, 5])
>>> x[np.array([True, False, True, True])]
>>> # 布尔数组的长度不够时,不够的部分都当作False
array([5, 3, 2])
>>> x[np.array([True, False, True, True])] = -1, -2, -3#只修改下标为True的元素
>>> # 布尔数组下标也可以用来修改元素
>>> x
array([-1, 4, -2, -3, 1])

注意:布尔数组一般不是手工产生的,通常我们使用一条布尔表达式来得到,如:

>>> x = np.random.rand(10) # 产生一个长度为10,元素值为0-1的随机数的数组
>>> x
array([ 0.72223939, 0.921226 , 0.7770805 , 0.2055047 , 0.17567449,
    0.95799412, 0.12015178, 0.7627083 , 0.43260184, 0.91379859])
>>> x>0.5
>>> # 数组x中的每个元素和0.5进行大小比较,得到一个布尔数组,True表示x中对应的值大于0.5
array([ True, True, True, False, False, True, False, True, False, True], dtype=bool)
>>> x[x>0.5]# x>0.5是一个布尔数组
>>> # 使用x>0.5返回的布尔数组收集x中的元素,因此得到的结果是x中所有大于0.5的元素的数组
array([ 0.72223939, 0.921226 , 0.7770805 , 0.95799412, 0.7627083 ,
    0.91379859])

总结

以上就是本文关于numpy使用技巧之数组过滤实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python实现挑选出来100以内的质数
Mar 24 Python
Python自定义类的数组排序实现代码
Aug 28 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python排序搜索基本算法之希尔排序实例分析
Dec 09 Python
Python统计单词出现的次数
Apr 04 Python
python实现守护进程、守护线程、守护非守护并行
May 05 Python
使用Python监视指定目录下文件变更的方法
Oct 15 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
Jun 18 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
Apr 21 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python验证码识别实例代码
Feb 03 #Python
Django中cookie的基本使用方法示例
Feb 03 #Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
Feb 03 #Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
Feb 03 #Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 #Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 #Python
Python内建模块struct实例详解
Feb 02 #Python
You might like
《APMServ 5.1.2》使用图解
2006/10/23 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php依赖注入知识点详解
2019/09/23 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
javascript每日必学之继承
2016/02/23 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
Python subprocess模块学习总结
2014/03/13 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
领导干部失职检讨书
2015/05/05 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
假期读书倡议书3篇
2019/08/19 职场文书
一级电子管军用接收机测评
2022/04/05 无线电