python中nan的比較

2021-09-26 18:36:26 字數 423 閱讀 5865

在用numpy.sum等方法計算列表時,當列表中無目標元素,得到的為空值nan。然而不同於none,它無法用==進行判斷。

nan(not a number),在數學表示上表示乙個無法表示的數,這裡一般還會有另乙個表述inf,inf和nan的不同在於,inf是乙個超過浮點表示範圍的浮點數(其本質仍然是乙個數,只是他無窮大,因此無法用浮點數表示,比如1/0),而nan則一般表示乙個非浮點數(比如無理數)

在數學上inf==inf,且inf == inf+x(x為任意浮點數),而nan != nan,因此在python中判斷乙個數是否是nan,可以直接判斷他是否與自身相等

即:判斷變數s是否為nan時,如下:

if s != s:

print('s is a nan')

else:

print('s is not a nan')

關於NaN的比較

wtf?nan nan,返回的結果是false?也許這是因為我們沒有使用嚴格等價 操作?var x math.sqrt 2 var y math.log 1 console.log x y false也不對。因為有很多方法來表示乙個非數字,所以乙個非數字不會等於另乙個為nan的非數字,它還是有一定道...

比較NaN和數字

本書適合即將或者已經從事資料科學 機器學習 人工智慧等方向工作的朋友。書中詳細梳理了各種獲取資料 資料清洗 特徵工程等方向的技術和方法。先看下面的 有何感悟?import numpy as np min 2,np.nan 2 min np.nan,2 nan是不是有點意思?怎麼解釋?首先要理解pyt...

Java中NaN和 0 0f的比較問題

簡單的說,比較兩個int型或long型的資料沒有什麼問題,可以用 來判斷,但對浮點數 float與double 來說,需要對float.nan和0.0這個兩個特殊數字作額外的處理。float.nan嚴格說來不是乙個數字 它的字面意思也就是not a number 但是因為這個值可以被儲存在乙個flo...