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脚本快速为iOS10生成图标和截屏
Sep 22 Python
python ddt实现数据驱动
Mar 14 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
使用Python处理BAM的方法
Sep 28 Python
Python类中的魔法方法之 __slots__原理解析
Aug 26 Python
wxPython实现带颜色的进度条
Nov 19 Python
pycharm部署、配置anaconda环境的教程
Mar 24 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
Python Matplotlib绘图基础知识代码解析
Aug 31 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
正则表达式语法
2006/10/09 Javascript
php入门教程 精简版
2009/12/13 PHP
php 文章采集正则代码
2009/12/28 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
微信小程序 wxapp视图容器 view详解
2016/10/31 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
在微信小程序中渲染HTML内容的方法示例
2018/09/28 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
学习Python列表的基础知识汇总
2020/03/10 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
中学生个人自我评价
2014/02/06 职场文书
学校督导评估方案
2014/06/10 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
房屋所有权证明
2014/10/20 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2016新年感言
2015/08/03 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书