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编写的微博应用
Oct 17 Python
Python中的Numeric包和Numarray包使用教程
Apr 13 Python
python开启多个子进程并行运行的方法
Apr 18 Python
Python的__builtin__模块中的一些要点知识
May 02 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
简单了解python高阶函数map/reduce
Jun 28 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
解决tensorflow训练时内存持续增加并占满的问题
Jan 19 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
python3检查字典传入函数键是否齐全的实例
Jun 05 Python
浅谈tensorflow 中的图片读取和裁剪方式
Jun 30 Python
Node.js 和 Python之间该选择哪个?
Aug 05 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
提问的智慧
2006/10/09 PHP
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
escape unescape的php下的实现方法
2007/04/27 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
yii用户注册表单验证实例
2015/12/26 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
微信小程序下拉框功能的实例代码
2018/11/06 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
JS中锚点链接点击平滑滚动并自由调整到顶部位置
2021/02/06 Javascript
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
党员教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
办公室主任个人总结
2015/02/28 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
如何使用Python实现一个简易的ORM模型
2021/05/12 Python