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实现程序的单一实例用法分析
Jun 03 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
Linux CentOS7下安装python3 的方法
Jan 21 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
使用python进行广告点击率的预测的实现
Jul 04 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
python paramiko远程服务器终端操作过程解析
Dec 14 Python
Python print不能立即打印的解决方式
Feb 19 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
Python 中数组和数字相乘时的注意事项说明
May 10 Python
pytorch 6 batch_train 批训练操作
May 28 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 远程关机操作的代码
2008/12/05 PHP
php检测文本的编码
2015/07/26 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
js模拟点击事件实现代码
2012/11/06 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
AngularJS实现全选反选功能
2015/12/08 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
NodeJs form-data格式传输文件的方法
2017/12/13 NodeJs
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
python遍历数组的方法小结
2015/04/30 Python
python中reader的next用法
2018/07/24 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python 寻找局部最高点的实现
2019/12/05 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
CSS3媒体查询(Media Queries)介绍
2013/09/12 HTML / CSS
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
C有"按引用传递"吗
2016/09/06 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
求职者应聘的自我评价
2013/10/16 职场文书
酒店管理自荐信
2013/10/23 职场文书
毕业生个人投资创业计划书
2014/01/04 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
初中语文教师研修日志
2015/11/13 职场文书
2016猴年春节慰问信
2015/11/30 职场文书