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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM