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