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小程序来统计测试脚本的关键字
Mar 12 Python
Python 输入一个数字判断成绩分数等级的方法
Nov 15 Python
python实现简单日期工具类
Apr 24 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
使用Python实现分别输出每个数组
Dec 06 Python
python cv2截取不规则区域图片实例
Dec 21 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
Pandas之read_csv()读取文件跳过报错行的解决
Apr 21 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
Python MNIST手写体识别详解与试练
Nov 07 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中使用strpos函数实现屏蔽敏感关键字功能
2014/08/21 PHP
php实现根据url自动生成缩略图的方法
2014/09/23 PHP
php实现当前页面点击下载文件的简单方法
2016/09/22 PHP
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
JavaScript调用客户端的可执行文件(示例代码)
2013/11/28 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
jquery $("#variable") 循环改变variable的值示例
2014/02/23 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
js获取checkbox值的方法
2015/01/28 Javascript
javascript中DOM复选框选择用法实例
2015/05/14 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
javascript创建对象、对象继承的实用方式详解
2016/03/08 Javascript
简单实现JavaScript图片切换效果
2016/11/28 Javascript
js实现加载页面就自动触发超链接的示例
2017/08/31 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
js编写简易的计算器
2020/07/29 Javascript
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
使用Python中的cookielib模拟登录网站
2015/04/09 Python
python测试mysql写入性能完整实例
2018/01/18 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
在python中使用nohup命令说明
2020/04/16 Python
在python image 中实现安装中文字体
2020/05/16 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
前台领班岗位职责
2013/12/04 职场文书
职位证明模板
2015/06/23 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js