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之赋值,简单也不简单
Sep 24 Python
Python中的MongoDB基本操作:连接、查询实例
Feb 13 Python
给Python初学者的一些编程技巧
Apr 03 Python
Python中获取对象信息的方法
Apr 27 Python
numpy数组拼接简单示例
Dec 15 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
django settings.py 配置文件及介绍
Jul 15 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
pandas to_excel 添加颜色操作
Jul 14 Python
对Pytorch 中的contiguous理解说明
Mar 03 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
用PHP代码给图片加水印
2015/07/01 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
php操作access数据库的方法详解
2017/02/22 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
Angular4如何自定义首屏的加载动画详解
2017/07/26 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
validform表单验证的实现方法
2019/03/08 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
详解Typescript里的This的使用方法
2021/01/08 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
简单谈谈Python中函数的可变参数
2016/09/02 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python处理按钮消息的实例详解
2017/07/11 Python
深入理解Python异常处理的哲学
2019/02/01 Python
python 正则表达式参数替换实例详解
2020/01/17 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
eBay德国站:eBay.de
2017/09/14 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
有趣的广告词
2014/03/18 职场文书
党员个人年度总结
2015/02/14 职场文书
Redis基本数据类型哈希Hash常用操作命令
2022/06/01 Redis