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 相关文章推荐
java直接调用python脚本的例子
Feb 16 Python
Python的Flask框架中@app.route的用法教程
Mar 31 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
python放大图片和画方格实现算法
Mar 30 Python
多个应用共存的Django配置方法
May 30 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
PyQt5 加载图片和文本文件的实例
Jun 14 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
Jun 19 Python
Python sep参数使用方法详解
Feb 12 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 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
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
浅谈PHP表单提交(POST&GET&URL编/解码)
2017/04/03 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JavaScript中逗号运算符介绍及使用示例
2015/03/13 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
vue中使用refs定位dom出现undefined的解决方法
2017/12/21 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
Vue2 轮播图slide组件实例代码
2018/05/31 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
vue 授权获取微信openId操作
2020/11/13 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
Python面向对象魔法方法和单例模块代码实例
2020/03/25 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
用python实现前向分词最大匹配算法的示例代码
2020/08/06 Python
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
培训协议书范本
2014/04/22 职场文书
学习雷锋活动总结
2014/04/29 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
学生犯错保证书
2015/05/09 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
分享提高 Python 代码的可读性的技巧
2022/03/03 Python