温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用numpy的nonzero找出非0元素

发布时间:2022-02-25 16:14:28 来源:亿速云 阅读:105 作者:iii 栏目:开发技术

这篇文章主要介绍“如何使用numpy的nonzero找出非0元素”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用numpy的nonzero找出非0元素”文章能帮助大家解决问题。

直接上代码吧~

import numpy as np
a = 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 np
a = 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。

关于“如何使用numpy的nonzero找出非0元素”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI