Numpy中的mask的使用


Posted in Python onJuly 21, 2018

numpy中矩阵选取子集或者以条件选取子集,用mask是一种很好的方法

简单来说就是用bool类型的indice矩阵去选择,

mask = np.ones(X.shape[0], dtype=bool)
X[mask].shape
mask.shape
mask[indices[0]] = False
mask.shape
X[mask].shape
X[~mask].shape
(678, 2)
(678,)
(678,)
(675, 2)
(3, 2)

例如我们这里用来选取全部点中KNN选取的点以及所有剩余的点

from sklearn.neighbors import NearestNeighbors
nbrs = NearestNeighbors(10).fit(X)
_,indices = nbrs.kneighbors(X)
mask = np.ones(X.shape[0], dtype=bool)
mask[indices[0]] = False
plt.scatter(X[mask][:,0],X[mask][:,1],c='g')
plt.scatter(X[~mask][:,0],X[~mask][:,1],c='r')

Numpy中的mask的使用

带条件选择替换,比如我们需要将a矩阵内某条件的行置换为888剩余置换为999,可以直接用mask或者再用where一步搞定:

mask = np.ones(a.shape,dtype=bool) #np.ones_like(a,dtype=bool)
mask[indices] = False
a[~mask] = 999
a[mask] = 888
#############
np.where(mask, 888, 999)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现Tab自动补全和历史命令管理的方法
Mar 12 Python
python对指定目录下文件进行批量重命名的方法
Apr 18 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
举例讲解Python中装饰器的用法
Apr 27 Python
python实现mysql的读写分离及负载均衡
Feb 04 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
Aug 16 Python
Python面向对象之类的封装操作示例
Jun 08 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
Python %r和%s区别代码实例解析
Apr 03 Python
详解KMP算法以及python如何实现
Sep 18 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 #Python
Flask框架WTForm表单用法示例
Jul 20 #Python
Python使用pymongo模块操作MongoDB的方法示例
Jul 20 #Python
Python闭包函数定义与用法分析
Jul 20 #Python
Django rest framework工具包简单用法示例
Jul 20 #Python
Django 中使用流响应处理视频的方法
Jul 20 #Python
Python实现手写一个类似django的web框架示例
Jul 20 #Python
You might like
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
jquery利用命名空间移除绑定事件的方法
2015/03/11 Javascript
JavaScript中的toUTCString()方法使用详解
2015/06/12 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
详解ES6通过WeakMap解决内存泄漏问题
2018/03/09 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
vuejs移动端实现div拖拽移动
2019/07/25 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
python实现的文件同步服务器实例
2015/06/02 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
Python代码需要缩进吗
2020/07/01 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
python中os.remove()用法及注意事项
2021/01/31 Python
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
撤诉状格式范本
2015/05/19 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
基于Python实现西西成语接龙小助手
2022/08/05 Golang
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers