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二叉树遍历的实现方法
Nov 21 Python
Python获取Linux系统下的本机IP地址代码分享
Nov 07 Python
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
详解python之多进程和进程池(Processing库)
Jun 09 Python
python plotly画柱状图代码实例
Dec 13 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
Jan 16 Python
tensorflow 环境变量设置方式
Feb 06 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python日志处理模块logging用法解析
May 19 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
Python自动化爬取天眼查数据的实现
Jun 15 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 a simple smtp class
2007/11/26 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
Js中sort()方法的用法
2006/11/04 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
Javascript中3种实现继承的方法和代码实例
2014/08/12 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
2014/11/17 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
AngularJs上传前预览图片的实例代码
2017/01/20 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
浅谈Vue父子组件和非父子组件传值问题
2017/08/22 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
jQuery实现本地存储
2020/12/22 jQuery
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
Python对象转JSON字符串的方法
2016/04/27 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
Python 内置函数globals()和locals()对比详解
2019/12/23 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
基于Django OneToOneField和ForeignKey的区别详解
2020/03/30 Python
HTML5 CSS3打造相册效果附源码下载
2014/06/16 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
家庭教育先进个人事迹材料
2014/01/24 职场文书
建议书怎么写
2014/03/12 职场文书
四年级小学生评语
2014/12/26 职场文书
教师节倡议书2015
2015/04/27 职场文书