您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:使用numpy nonzero 找出非0元素

51自学网 2021-10-30 22:40:33
  python
这篇教程使用numpy nonzero 找出非0元素写得很实用,希望能帮到您。

直接上代码吧~

import numpy as npa = np.array([[30,40,70],[80,20,10],[50,90,60]])print(a)print(np.nonzero(a))[[30 40 70] [80 20 10] [50 90 60]](array([0, 0, 0, 1, 1, 1, 2, 2, 2], dtype=int64), array([0, 1, 2, 0, 1, 2, 0, 1, 2], dtype=int64))

第一个array为x轴 第二个array为y轴

补充:【Numpy学习】python查找矩阵中不为0元素的索引(np.nonzero())

在用矩阵分解方法做模型时,需要对模型的结果做验证。

在验证过程中需要mask训练集、验证集和测试集。

这时候就需要原矩阵S SS中不为0元素和为0元素的索引值,这个方法在matlab中是find方法,在用python实现时就需要np.nonzero()。

下面看一段代码:

import numpy as npa = np.arange(12).reshape(3, 4)print(a)[[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11]]print(np.nonzero(a))(array([0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]), array([1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3]))

值得注意的是np.nonzero(a)输出的是两个array第一个array中的值指的是行,第二个指的是列。

如0,1表明第0行第一列的值不为0。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。


Python机器学习之KNN近邻算法
如何将numpy二维数组中的np.nan值替换为指定的值
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。