文章目录

  • 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 取矩阵中非零元素的下标相关推荐

  1. 求矩阵中非零元素个数(L0范式)

    工作中经常遇到求矩阵中非零元素个数的个数(L0范式) 下面介绍几种方法: 1.常规思路 import time import numpy as np data = np.array([ [5.0, 3 ...

  2. Matlab与数据结构 -- 搜索向量或矩阵中非零元素的位置

    本图文介绍了Matlab中搜索向量或矩阵中非零元素位置的方法.

  3. 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) ...

  4. numpy | 取矩阵非零元素

    方式1: 先提取矩阵中非零项:再误差计算 obs_A = A.ravel()[np.flatnonzero(A)] obs_X = X.ravel()[np.flatnonzero(A)] error ...

  5. 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 ...

  6. python numpy for循环矩阵乘法

    把向量放到一个list中,用for i in list进行遍历 循环数字时为for i in range(num) import numpy as np# 列向量乘行向量 x1 = np.array( ...

  7. python numpy中对ndarry按照index(位置下标)增删改查

    在numpy中的ndarry是一个数组,因此index就是位置下标,注意下标是从0开始 增加:在插入时使用np.insert(),在末尾添加时使用np.append() 删除:需要使用np.delet ...

  8. Python numpy 判断零矩阵,判断某个值(a)是否在矩阵中

    Python numpy 判断0 矩阵,判断某个值(a)是否在矩阵中 百度找 这个需求, 发现没有一种比较简单的解决方式:很多给的答案是要用 循环的方式解决,我觉得不好. 所以写了 一个简单的方式. ...

  9. python 矩阵元素查找位置函数_Python中二维数组中非零元素位置的快速查找方法...

    我提出这个问题的原因是我认为numpy.非零功能没有得到应有的优化.以下示例显示了这一事实:a=np.random.random((1000,1000)) a[a<0.5]=0 timeit.t ...

最新文章

  1. 陈硕智能指针线程安全_C++ 创建线程的方法
  2. verilog for循环_HDLBits:在线学习 Verilog (二十四 · Problem 115-119)
  3. 笔记本暗屏维修多少钱_电视机维修|维修电视机多少钱?电视机黑屏
  4. CodeForces - 1207F Remainder Problem(分块)
  5. C语言关键字 ISO/ANSI C90 C99 C11
  6. vim grep配置及使用
  7. node.js整理 07例子
  8. 国外著名java技术资料网站
  9. 11个Java 开源 socket框架
  10. Linux系统调用表:x86和x86_64
  11. 查询Linux的公网及内网IP
  12. 树莓派4做服务器哪个系统好,【树莓派】树莓派4无痛安装系统(NOOBS篇)
  13. Redis设计与实现 - chapter7 压缩列表
  14. Python爬虫进行Web数据挖掘总结和分析
  15. KingbaseES 表空间加密-透明加密
  16. android/ios播放器ijkplayer Ubuntu编译(支持HTTPS、ffmpeg高版本)
  17. 电脑调节,电脑调节亮度怎么调
  18. 数据开发者启示录:《我,阿里P7,找不到工作》
  19. 25个 Vue 技巧,开发了5年了,有些竟然还是第一次见!
  20. Python实现学生管理系统(功能全面)

热门文章

  1. Python-with open() as f写入
  2. 扩展UbuntuTouch根目录,解决安装空间不足的问题
  3. Vue2源码解析 虚拟dom简介
  4. [论文翻译]数据集的domian问题:Intramodality Domain Adaptation Using Self Ensembling and Adversarial Training
  5. MapReduce处理两个文件内不同行信息
  6. 如何在iPhone应用中避免内存泄露
  7. 养生的常见方法有哪些?
  8. Android下使用W25Q32
  9. 【MySQL】MySQL之权限管理
  10. java-spring的JdbcTempldate对oracle 的CLob字段进行读和写