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 相关文章推荐
sublime python3 输入换行不结束的方法
Apr 19 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
Jul 11 Python
django重新生成数据库中的某张表方法
Aug 28 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
Python单元测试与测试用例简析
Nov 09 Python
Python脚本导出为exe程序的方法
Mar 25 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
Jun 17 Python
拿来就用!Python批量合并PDF的示例代码
Aug 10 Python
python 实现端口扫描工具
Dec 18 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实现发送微信模板消息的方法
2015/03/07 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
PDO实现学生管理系统
2020/03/21 PHP
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
2018/12/12 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
js实现鼠标点击飘爱心效果
2020/08/19 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
Python中functools模块的常用函数解析
2016/06/30 Python
使用numba对Python运算加速的方法
2018/10/15 Python
python实现微信自动回复及批量添加好友功能
2019/07/03 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
个人自我鉴定
2013/11/07 职场文书
运动会开幕式解说词
2014/02/05 职场文书
国企干部对照检查材料
2014/08/22 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
民事调解书范文
2015/05/20 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
JavaScript事件的委托(代理)的用法示例详解
2022/02/18 Javascript
Java异常体系非正常停止和分类
2022/06/14 Java/Android