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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
Python统计列表中的重复项出现的次数的方法
Aug 18 Python
python使用socket远程连接错误处理方法
Apr 29 Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 Python
Python实现在tkinter中使用matplotlib绘制图形的方法示例
Jan 18 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
在pycharm下设置自己的个性模版方法
Jul 15 Python
python django model联合主键的例子
Aug 06 Python
python解压zip包中文乱码解决方法
Nov 27 Python
python在协程中增加任务实例操作
Feb 28 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 Python
python中super()函数的理解与基本使用
Aug 30 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 Hex RGB颜色值互换的使用
2013/05/10 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
javascript 节点排序 2
2011/01/31 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
node.js中的console.warn方法使用说明
2014/12/09 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
Angular多选、全选、批量选择操作实例代码
2017/03/10 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
微信小程序封装多张图片上传api代码实例
2019/12/30 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[15:15]教你分分钟做大人:狙击手
2014/10/30 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
使用Python绘制图表大全总结
2017/02/11 Python
Python数据操作方法封装类实例
2017/06/23 Python
python中的不可变数据类型与可变数据类型详解
2018/09/16 Python
对python的输出和输出格式详解
2018/12/08 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
wxPython实现分隔窗口
2019/11/19 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
HTML5标签大全
2016/11/23 HTML / CSS
副总经理工作职责
2013/11/28 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python