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 re正则表达式模块(Regular Expression)
Jul 16 Python
Python常用列表数据结构小结
Aug 06 Python
Python编程中的反模式实例分析
Dec 08 Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
Python 数据结构之旋转链表
Feb 25 Python
Python面向对象程序设计示例小结
Jan 30 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 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
PHP:风雨欲来 路在何方?
2006/10/09 PHP
基于PHP服务端图片生成缩略图的方法详解
2013/06/20 PHP
php数组删除元素示例
2014/03/21 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
js自定义事件代码说明
2011/01/31 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
TensorFlow命名空间和TensorBoard图节点实例
2020/01/23 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
利用Python的folium包绘制城市道路图的实现示例
2020/08/24 Python
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
资金申请报告范文
2015/05/14 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
Python中使用Opencv开发停车位计数器功能
2022/04/04 Python