3
assert 1 == 1
是好的,那麼爲什麼:
assert np.nan == np.nan
原因斷言錯誤?
什麼是更加混亂,這是確定:
assert np.nan != np.nan
什麼是測試nan
的最佳方式?
assert 1 == 1
是好的,那麼爲什麼:
assert np.nan == np.nan
原因斷言錯誤?
什麼是更加混亂,這是確定:
assert np.nan != np.nan
什麼是測試nan
的最佳方式?
NaN
有它不等於本身,你應該使用np.isnan
測試NaN
值的特性,在這裏np.isnan(np.nan)
將產生True
:
In[5]:
np.nan == np.nan
Out[5]: False
In[6]:
np.nan != np.nan
Out[6]: True
In[7]:
np.isnan(np.nan)
Out[7]: True
正如@盧卡斯Rogalski指出,is
這裏也將工作:
In [10]: np.nan is np.nan
Out[10]: True
使用math.isnan(value)
。 NaN不會與自身等同,因爲它表示失敗,並且可能沒有以相同方式生成。我不確定爲什麼isnan
在文檔中缺失,但它在CPython 3.4和2.7中都存在。
因爲'NaN'!='NaN',它是浮點數規範的一部分。測試_identity_('is'運算符),而不是_equality_。 –