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实现批量下载文件
May 17 Python
python学习之编写查询ip程序
Feb 27 Python
Python 实现选择排序的算法步骤
Apr 22 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
Python如何发送与接收大型数组
Aug 07 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 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取整数函数常用的四种方法小结
2012/07/05 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
javascript 禁止复制网页
2009/06/11 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
Vue 构造选项 - 进阶使用说明
2020/08/14 Javascript
python对字典进行排序实例
2014/09/25 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
Python subprocess模块详细解读
2018/01/29 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python+Pyqt实现简单GUI电子时钟
2021/02/22 Python
django迁移数据库错误问题解决
2019/07/29 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
Python读写文件模式和文件对象方法实例详解
2019/09/17 Python
python、PyTorch图像读取与numpy转换实例
2020/01/13 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
django 取消csrf限制的实例
2020/03/13 Python
python3跳出一个循环的实例操作
2020/08/18 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
中国汽车租赁行业头部企业:一嗨租车
2019/05/16 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
物业管理应届生求职信
2013/10/28 职场文书
“学雷锋活动月”总结
2014/03/09 职场文书
户籍证明格式
2014/09/15 职场文书
2015年工程师工作总结
2015/04/30 职场文书
雷锋的故事观后感
2015/06/10 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript