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 相关文章推荐
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python中用函数作为返回值和实现闭包的教程
Apr 27 Python
Python编程中运用闭包时所需要注意的一些地方
May 02 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
python分割一个文本为多个文本的方法
Jul 22 Python
Flask中endpoint的理解(小结)
Dec 11 Python
解决python运行效率不高的问题
Jul 20 Python
用Python自动清理系统垃圾的实现
Jan 18 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
15种PHP Encoder的比较
2007/04/17 PHP
PHP读取目录下所有文件的代码
2008/01/07 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php中使用临时表查询数据的一个例子
2013/02/03 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
PHP使用CURL_MULTI实现多线程采集的例子
2014/07/29 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
网页里控制图片大小的相关代码
2006/06/25 Javascript
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
Js,alert出现乱码问题的解决方法
2013/06/19 Javascript
js控制frameSet示例
2013/09/10 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
2013/12/04 Javascript
用js正确判断用户名cookie是否存在的方法
2014/01/28 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
JS前端加密算法示例
2016/12/22 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
python switch 实现多分支选择功能
2020/12/21 Python
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
天鹅的故事教学反思
2014/02/04 职场文书
妈妈的账单教学反思
2014/02/06 职场文书
小学信息技术教学反思
2014/02/10 职场文书
大学军训感言300字
2014/03/09 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
励志演讲稿500字
2014/08/21 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书