Numpy中的mask的使用
作者:江南消夏 发布时间:2022-06-10 19:33:11
标签:Numpy,mask
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')
带条件选择替换,比如我们需要将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)
来源:http://frankchen.xyz/2018/07/20/numpy-mask


猜你喜欢
- 一、开发工具**Python****版本:**3.6.4相关模块:DecryptLogin模块;argparse模块;以及一些Python自
- 1.概述pyecharts 是百度开源的,适用于数据可视化的工具,配置灵活,展示图表相对美观,顺滑。2.安装python3环境下的安装:pi
- shapefile转换geojsonimport shapefileimport codecsfrom json import dumps#
- 微信支付、支付宝等第三方支付,需要和银联、网联对接,有清算机构和银行的交易处理通道成本。下文说的费率是指支付手续费的费率,在用户支付的时候,
- 取余函数 PHP取余函数 PHP两个取余 MOD(x,y) x%yMOD例如:9/3,9是被除数,3为除数.mod函数是一个求余函数,其格式
- BETWEEN 运算符用于 WHERE 表达式中,选取介于两个值之间的数据范围。BETWEEN 同 AND 一起搭配使用,语法如下:WHER
- MySQL批量插入问题在开发项目时,因为有一些旧系统的基础数据需要提前导入,所以我在导入时做了批量导入操作 ,但是因为MySQL中的一次可接
- 下面是ThoughtBot 的Git使用规范流程。我从中学到了很多,推荐你也这样使用Git。第一步:新建分支首先,每次开发新功能,都应该新建
- 动机有时候需要在代码头部添加像这样的一段注释。这段注释包括了作者、代码版权许可等信息。每次重复添加都会让您觉得非常麻烦。作为开发者的您,时间
- 前言在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Pr
- Visio 是一款专门绘制流程示意图的办公软件。该软件能够把复杂信息、系统和流程进行可视化图表处理,从而利于用户进行分析交流和业务决策。鉴于
- <script> function isIPv6(str) { return str.mat
- 一、将PHP数组转换为JSON格式在PHP中,我们可以直接使用数组来存储数据。但是在JS中,数组通常以JSON(JavaScript Obj
- 一、开发环境集成开发工具:jupyter notebook 6.5.2集成开发环境:Python 3.10.6第三方库:tensorflow
- 一,js中对象继承js中有三种继承方式1.js原型(prototype)实现继承<SPAN style="BACKGROUN
- Python当中并无switch语句,本文研究的主要是通过字典实现switch语句的功能,具体如下。switch语句用于编写多分支结构的程序
- 在学习Python3的正则表达式的时候遇到一个例子#!/usr/bin/python3import reline = "Cats
- 图像文件是自己仿照mnist格式制作,每张图像大小为128*128import structimport matplotlib.pyplot
- Python中默认安装的ftplib模块定义了FTP类,可用来实现简单的ftp客户端,用于上传或下载文件。ftp登陆连接from ftpli
- 正则表达式,就是用某种模式去匹配一类字符串的一个公式,正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括