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处理csv数据动态显示曲线实例代码
Jan 23 Python
Python 查找字符在字符串中的位置实例
May 02 Python
Python3转换html到pdf的不同解决方案
Mar 11 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python正则爬取某段子网站前20页段子(request库)过程解析
Aug 10 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
Python简单实现区域生长方式
Jan 16 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
如何提高python 中for循环的效率
Apr 15 Python
python判断是空的实例分享
Jul 06 Python
利用Python第三方库实现预测NBA比赛结果
Jun 21 Python
Python基本数据类型之字符串str
Jul 21 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笔记之常用文件操作
2010/10/12 PHP
纯PHP生成的一个树叶图片画图例子
2014/04/16 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP调用存储过程返回值不一致问题的解决方法分析
2016/04/26 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
JavaScript中的比较操作符>、=、
2014/12/31 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
[03:17]2016完美“圣”典风云人物:冷冷专访
2016/12/08 DOTA
Python字符串转换成浮点数函数分享
2015/07/24 Python
Python编程实现微信企业号文本消息推送功能示例
2017/08/21 Python
python中列表和元组的区别
2017/12/18 Python
python让列表倒序输出的实例
2018/06/25 Python
python实现键盘控制鼠标移动
2020/11/27 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
eclipse创建python项目步骤详解
2019/05/10 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
pytorch 自定义卷积核进行卷积操作方式
2019/12/30 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
VC++笔试题
2014/10/13 面试题
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
对公司合理化的建议书
2014/03/12 职场文书
给校长的建议书300字
2014/05/16 职场文书
2014年党委工作总结
2014/11/22 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书