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操作数据库之sqlite3打开数据库、删除、修改示例
Mar 13 Python
python实现apahce网站日志分析示例
Apr 02 Python
Python File readlines() 使用方法
Mar 19 Python
Python实现图片添加文字
Nov 26 Python
Python实现图片批量加入水印代码实例
Nov 30 Python
django实现将修改好的新模型写入数据库
Mar 31 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
Python新手学习标准库模块命名
May 29 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
浅谈Python中的字符串
Jun 10 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
Python超简单容易上手的画图工具库推荐
May 10 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
多重?l件?合查?(二)
2006/10/09 PHP
php UTF8 文件的签名问题
2009/10/30 PHP
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
2016/03/18 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
Vue.use源码分析
2017/04/22 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
实现jquery放大镜的两种方法
2018/02/22 jQuery
前端开发基础javaScript的六大作用
2020/08/06 Javascript
python中随机函数random用法实例
2015/04/30 Python
python正则分析nginx的访问日志
2017/01/17 Python
Python实现破解12306图片验证码的方法分析
2017/12/29 Python
python制作mysql数据迁移脚本
2019/01/01 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
python 回溯法模板详解
2020/02/26 Python
django admin 添加自定义链接方式
2020/03/11 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
七年级语文教学反思
2016/03/03 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
HTML中的表格元素介绍
2022/02/28 HTML / CSS