• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用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。

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 浅谈python numpy中nonzero()的用法
    • 关于numpy中np.nonzero()函数用法的详解
    • 讲解Python3中NumPy数组寻找特定元素下标的两种方法
    上一篇:Python机器学习之KNN近邻算法
    下一篇:如何将numpy二维数组中的np.nan值替换为指定的值
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    使用numpy nonzero 找出非0元素 使用,numpy,nonzero,找出,非,