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程序抓取新浪在国内的所有IP的教程
May 04 Python
Python语言实现获取主机名根据端口杀死进程
Mar 31 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
python实现整数的二进制循环移位
Mar 08 Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
opencv导入头文件时报错#include的解决方法
Jul 31 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
Jan 19 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 Python
python中pandas.read_csv()函数的深入讲解
Mar 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
用javascript对一个json数组深度赋值示例
2014/07/27 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
Python模拟登录12306的方法
2014/12/30 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
python实现的自动发送消息功能详解
2019/08/15 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Python 列表中的修改、添加和删除元素的实现
2020/06/11 Python
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
《再别康桥》教学反思
2014/02/12 职场文书
早会主持词
2014/03/17 职场文书
安全生产承诺书
2014/03/26 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
公司门卫岗位职责
2015/04/13 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS