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多线程编程方式分析示例详解
Dec 06 Python
python自带的http模块详解
Nov 06 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
python3实现全角和半角字符转换的方法示例
Sep 21 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python 列表删除所有指定元素的方法
Apr 19 Python
python3.5绘制随机漫步图
Aug 27 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
在PyCharm下使用 ipython 交互式编程的方法
Jan 17 Python
Django实现前台上传并显示图片功能
May 29 Python
python的pip有什么用
Jun 17 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 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
星际实力自我测试
2020/03/04 星际争霸
PHP 中文处理技巧
2010/04/25 PHP
php class类的用法详细总结
2013/10/17 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
php慢查询日志和错误日志使用详解
2021/02/27 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
jQuery autocomplete插件修改
2009/04/17 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
基于jQuery实现的Ajax 验证用户名是否存在的实现代码
2011/04/06 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python创建文件和追加文件内容实例
2014/10/21 Python
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
python中列表元素连接方法join用法实例
2015/04/07 Python
python集合类型用法分析
2015/04/08 Python
Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
2017/03/19 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
详解Python if-elif-else知识点
2018/06/11 Python
日语系毕业求职信
2014/07/27 职场文书
一次性工伤赔偿协议书范本
2014/11/25 职场文书
简历自我评价模板
2015/03/11 职场文书
士兵突击观后感
2015/06/16 职场文书
教师读书活动心得体会
2016/01/14 职场文书