zoukankan      html  css  js  c++  java
  • python出现nan的情况分析

    nan代表Not A Number(不是一个数),它并不等于0。

    情况一:

    0 * float('inf') 结果为:nan

    float('inf') / float('inf') 结果为:nan
    float('inf') - float('inf') 结果为:nan
    float('-inf') - float('-inf') 结果也为:nan

      注解:python中的正无穷或负无穷,使用float("inf")或float("-inf")来表示。


    因为nan不是一个数,所以相关计算都无法得到数字。
    所有涉及nan的操作,返回的都是nan,例如:

    float('nan') + 9999999
    float('nan') - 9999999
    float('nan') * 9999999
    float('nan') * float('inf')
    float('nan') / float('inf')
    float('nan') / float('nan')

    结果都是:nan。

    情况二:

    python mean也会产生nan:

    import numpy as np
     
    a=[]
     
    print(np.isnan(np.mean(a)))

    nan来自于numpy中numpy.nan,字面意思应该是Not a Number。在不同代码中有nan,有NaN,有NAN,但其实他们都一样的。

    参考博客:

    https://www.jianshu.com/p/d9caa4ab46e1

    https://blog.csdn.net/weixin_40446557/article/details/89886914

  • 相关阅读:
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
    [Hibernate]
  • 原文地址:https://www.cnblogs.com/jiaoqiang/p/11764831.html
Copyright © 2011-2022 走看看