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多重继承实例
Oct 11 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Python的组合模式与责任链模式编程示例
Feb 02 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
python requests post多层字典的方法
Dec 27 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
python内打印变量之%和f的实例
Feb 19 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
Python学习之os模块及用法
Jun 03 Python
python中format函数如何使用
Jun 22 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 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定时自动生成静态HTML的实现代码
2010/06/20 PHP
浅析php单例模式
2014/11/25 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
vue中子组件向父组件传递数据的实例代码(实现加减功能)
2018/04/20 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
Js Snowflake(雪花算法)生成随机ID的实现方法
2020/08/26 Javascript
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
使用Python写一个小游戏
2018/04/02 Python
Numpy之文件存取的示例代码
2018/08/03 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
大学英语专业求职信
2014/06/21 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
论文评审意见
2015/06/05 职场文书
四年级作文之植物
2019/09/20 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android