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基础之输入和输出实例分析
Aug 18 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
Python搭建代理IP池实现存储IP的方法
Oct 27 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
Python callable内置函数原理解析
Mar 05 Python
详解vscode实现远程linux服务器上Python开发
Nov 10 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
22点关于jquery性能优化的建议
2014/05/28 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
jQuery入门介绍之基础知识
2015/01/13 Javascript
javascript实现设置、获取和删除Cookie的方法
2015/06/01 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
详解Bootstrap按钮
2016/01/04 Javascript
基于jQuery实现表格的查看修改删除
2016/08/01 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
Node.js创建HTTP文件服务器的使用示例
2018/05/11 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
举例讲解Python中装饰器的用法
2015/04/27 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
Python简单读取json文件功能示例
2017/11/30 Python
python设置表格边框的具体方法
2020/07/17 Python
Pandas的数据过滤实现
2021/01/15 Python
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
2014年安全保卫工作总结
2014/11/13 职场文书
法律意见书范本
2015/06/04 职场文书
公司的力量观后感
2015/06/05 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS