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二叉树遍历的实现方法
Nov 21 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
python numpy格式化打印的实例
May 14 Python
Python闭包函数定义与用法分析
Jul 20 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
python实现公司年会抽奖程序
Jan 22 Python
Python理解递归的方法总结
Jan 28 Python
python异常触发及自定义异常类解析
Aug 06 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
opencv 阈值分割的具体使用
Jul 08 Python
Python 实现简单的客户端认证
Jul 29 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日期函数date格式化UNIX时间的方法
2015/03/19 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
jquery ajax提交整个表单元素的快捷办法
2013/03/27 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
详解python 发送邮件实例代码
2016/12/22 Python
Python中@property的理解和使用示例
2019/06/11 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
《自然之道》教学反思
2014/02/11 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
难忘的一课教学反思
2014/04/30 职场文书
个人对照检查材料思想汇报
2014/09/26 职场文书
阿凡达观后感
2015/06/10 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
redis 存储对象的方法对比分析
2021/08/02 Redis
MySQL中一条update语句是如何执行的
2022/03/16 MySQL
TV动画《八十龟酱观察日记》第四季宣传PV公布
2022/04/06 日漫
mysql 获取相邻数据项
2022/05/11 MySQL