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递归删除指定目录及其所有内容的方法
Jan 13 Python
python中子类调用父类函数的方法示例
Aug 18 Python
Python 中Pickle库的使用详解
Feb 24 Python
python实现电子产品商店
Feb 26 Python
Python函数的参数常见分类与用法实例详解
Mar 30 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
python将字符串转换成json的方法小结
Jul 09 Python
Python tkinter常用操作代码实例
Jan 03 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
python统计字符的个数代码实例
Feb 07 Python
python 安装移动复制第三方库操作
Jul 13 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 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 批量添加多行文本框textarea一行一个
2014/06/03 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
JQuery实现鼠标移动到图片上显示边框效果
2014/01/09 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
vue实现app页面切换动画效果实例
2017/05/23 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
使用url_helper简化Python中Django框架的url配置教程
2015/05/30 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python采集微信公众号文章
2018/12/20 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
就业推荐自我鉴定
2013/10/06 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
学习党章思想汇报
2014/01/07 职场文书
会计求职信
2014/05/29 职场文书
董事长助理工作职责
2014/06/08 职场文书
网络技术专业求职信
2014/07/13 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
房屋产权证明书
2015/06/19 职场文书
springboot + mongodb 通过经纬度坐标匹配平面区域的方法
2021/11/01 MongoDB