Python numpy nonzero 取矩阵中非零元素的下标
文章目录
- 1. 对矩阵进行处理
- 2. 使用的过程
1. 对矩阵进行处理
>>> a3 = [[1, 2, 3], [1, 3, 5], [1, 2, 4]]
>>> a3 = np.mat(a3)
>>> np.nonzero(a3[:, 0] == 1)
(array([0, 1, 2], dtype=int64), array([0, 0, 0], dtype=int64))
- 第一个数组定位的是行
- 第二个数组定位的是列
- 可见
(0, 0), (1, 0), (2, 0)
下都是满足数值等于1
条件
2. 使用的过程
- 根据结果转化的boolean矩阵,取相应的下标
>>> index = matrix([[ True, False, False],[ True, False, False],[ True, False, False]])
>>> np.nonzero(index)
(array([0, 1, 2], dtype=int64), array([0, 0, 0], dtype=int64))
>>> np.nonzero(index)
(array([0, 1, 2], dtype=int64), array([0, 0, 0], dtype=int64))
>>> index = np.nonzero(index)
>>> type(index)
<class 'tuple'>
- 使用元组获取下标的值
>>> a3
matrix([[1, 2, 3],[1, 3, 5],[1, 2, 4]])
>>> a3[((1, 0, 2), (2, 0, 0))]
matrix([[5, 1, 1]])
>>> a3[((0, 1, 2), (0, 0, 0))]
matrix([[1, 1, 1]])
- 类似使用列表
(不推荐)
>>> index = [[0, 1, 2], [0, 0, 0]]
a3[index]
D:\Python\lib\site-packages\numpy\matrixlib\defmatrix.py:195: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.out = N.ndarray.__getitem__(self, index)matrix([[1, 1, 1]])
- 不能使用
array
进行类似元组的获取
>>> index = np.array([[0, 1, 2], [0, 0, 0]])
>>> a3[index]
matrix([[[1, 2, 3],[1, 3, 5],[1, 2, 4]],[[1, 2, 3],[1, 2, 3],[1, 2, 3]]])
可见其获取的并不是类似元组,行和列组合定位元素,而是直接获取了行
Python numpy nonzero 取矩阵中非零元素的下标相关推荐
- 求矩阵中非零元素个数(L0范式)
工作中经常遇到求矩阵中非零元素个数的个数(L0范式) 下面介绍几种方法: 1.常规思路 import time import numpy as np data = np.array([ [5.0, 3 ...
- Matlab与数据结构 -- 搜索向量或矩阵中非零元素的位置
本图文介绍了Matlab中搜索向量或矩阵中非零元素位置的方法.
- python Numpy 中的矩阵向量乘法(np.multiply()、np.dot()、np.matmul() 和 星号(*)、@)
python Numpy 中的矩阵向量乘法 总结 1. 对于 np.array 对象 1.1 元素乘法 用 a*b 或 np.multiply(a,b) 1.2 矩阵乘法 用 np.dot(a,b) ...
- numpy | 取矩阵非零元素
方式1: 先提取矩阵中非零项:再误差计算 obs_A = A.ravel()[np.flatnonzero(A)] obs_X = X.ravel()[np.flatnonzero(A)] error ...
- matlab计算矩阵中非零元素个数
1.求计算矩阵中每一列非零元素个数 假设矩阵A: A = 0 1 0 55 6 0 19 9 0 00 0 4 2 计算矩阵A中每一列的非零元素个数 count=sum(A~=0)count =2 3 ...
- python numpy for循环矩阵乘法
把向量放到一个list中,用for i in list进行遍历 循环数字时为for i in range(num) import numpy as np# 列向量乘行向量 x1 = np.array( ...
- python numpy中对ndarry按照index(位置下标)增删改查
在numpy中的ndarry是一个数组,因此index就是位置下标,注意下标是从0开始 增加:在插入时使用np.insert(),在末尾添加时使用np.append() 删除:需要使用np.delet ...
- Python numpy 判断零矩阵,判断某个值(a)是否在矩阵中
Python numpy 判断0 矩阵,判断某个值(a)是否在矩阵中 百度找 这个需求, 发现没有一种比较简单的解决方式:很多给的答案是要用 循环的方式解决,我觉得不好. 所以写了 一个简单的方式. ...
- python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...
我提出这个问题的原因是我认为numpy.非零功能没有得到应有的优化.以下示例显示了这一事实:a=np.random.random((1000,1000)) a[a<0.5]=0 timeit.t ...
最新文章
- 陈硕智能指针线程安全_C++ 创建线程的方法
- verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
- 笔记本暗屏维修多少钱_电视机维修|维修电视机多少钱?电视机黑屏
- CodeForces - 1207F Remainder Problem(分块)
- C语言关键字 ISO/ANSI C90 C99 C11
- vim grep配置及使用
- node.js整理 07例子
- 国外著名java技术资料网站
- 11个Java 开源 socket框架
- Linux系统调用表:x86和x86_64
- 查询Linux的公网及内网IP
- 树莓派4做服务器哪个系统好,【树莓派】树莓派4无痛安装系统(NOOBS篇)
- Redis设计与实现 - chapter7 压缩列表
- Python爬虫进行Web数据挖掘总结和分析
- KingbaseES 表空间加密-透明加密
- android/ios播放器ijkplayer Ubuntu编译(支持HTTPS、ffmpeg高版本)
- 电脑调节,电脑调节亮度怎么调
- 数据开发者启示录:《我,阿里P7,找不到工作》
- 25个 Vue 技巧,开发了5年了,有些竟然还是第一次见!
- Python实现学生管理系统(功能全面)
热门文章
- Python-with open() as f写入
- 扩展UbuntuTouch根目录,解决安装空间不足的问题
- Vue2源码解析 虚拟dom简介
- [论文翻译]数据集的domian问题:Intramodality Domain Adaptation Using Self Ensembling and Adversarial Training
- MapReduce处理两个文件内不同行信息
- 如何在iPhone应用中避免内存泄露
- 养生的常见方法有哪些?
- Android下使用W25Q32
- 【MySQL】MySQL之权限管理
- java-spring的JdbcTempldate对oracle 的CLob字段进行读和写