zoukankan      html  css  js  c++  java
  • numpy nonzero与isnan

    nonzero

    直接看例子:

    In [83]: x = np.array([[1,0,0], [0,2,0], [1,1,0]])
    
    In [84]: x.shape
    Out[84]: (3L, 3L)
    # 3*3的array,维度为2
    
    In [85]: x
    Out[85]:
    array([[1, 0, 0],
           [0, 2, 0],
           [1, 1, 0]])
    
    In [86]: np.nonzero(x)
    Out[86]: (array([0, 1, 2, 2], dtype=int64), array([0, 1, 0, 1], dtype=int64))
    # 返回的是x中的不为0的元素坐标(坐标从每个array中选一个组成)
    # 返回的tuple与x的维度相同,tuple中第一个元素选一个,第二个元素选对应的那个,形成了一个坐标: # x[0,0], x[1,1], x[2,0], x[2,1] 这几个为非零
    In [87]: x = x == 0
    
    In [88]: x
    Out[88]:
    array([[False,  True,  True],
           [ True, False,  True],
           [False, False,  True]], dtype=bool)
    
    
    In [89]: np.nonzero(x)
    Out[89]: (array([0, 0, 1, 1, 2], dtype=int64), array([1, 2, 0, 2, 2], dtype=int64))
    # 看第一个元素x[0,1]是True,意味着false在这个函数这为0

    isnan:

    In [90]: y = [np.log(-1.),1.,np.log(0)]
    E:Anaconda2Scriptsipython-script.py:1: RuntimeWarning: invalid value encountered in log
      if __name__ == '__main__':
    E:Anaconda2Scriptsipython-script.py:1: RuntimeWarning: divide by zero encountered in log
      if __name__ == '__main__':
    
    In [91]: y
    Out[91]: [nan, 1.0, -inf]
    
    In [92]: np.isnan(y)
    Out[92]: array([ True, False, False], dtype=bool)
    # 可以看到isnan返回的是数组对应的相同大小的布尔型数组
  • 相关阅读:
    继承(JAVA)
    第一个Java应用
    Java面向对象编程
    学生管理系统(分层开发)
    ComboBox的数据联动
    二进制、八进制、十进制、十六进制之间的转换
    C# using的一些事
    JVM最多支持多少个线程?
    Java日志体系居然这么复杂?——架构篇
    java 架构之路(队列)kafka
  • 原文地址:https://www.cnblogs.com/cymwill/p/8298722.html
Copyright © 2011-2022 走看看