python--NaN型別判斷
阿新 • • 發佈:2018-10-31
- 昨天遇到了nan型別,不知道該怎麼判斷,在網上搜了一下,大致是這樣的,
- NaN,Not a Number,非數,它即不是無窮大, 也不是無窮小,無窮大減無窮大會導致NaN,無窮大乘以0或無窮小或除以無窮大會導致NaN,有NaN參與的運算, 其結果也一定是NaN,NaN != NaN
import numpy as np #無窮大減無窮大會導致NaN a = np.infty print(a - a) nan print(a * a, a* a - a) inf nan #無窮大乘以0或無窮小或除以無窮大會導致NaN print(a * 0) nan print(a * 1/ a) nan print(a / a) nan print(a / 1) inf print(a / 1) inf #有NaN參與的運算, 其結果也一定是NaN b = np.nan print(b + 1) nan print(b - b) nan #NaN != NaN print(b == b) False
- 但是你列印他的型別顯示為浮點數Float,不過沒辦法判斷他的型別,不過可以通過math函式或者numpy 函式裡的 isnan() 來判斷
import math
a=float("nan")
if math.isnan(a):
print("是nan")
else:
print("不是nan")
是nan
文章部分內容來自https://www.cnblogs.com/dengdan890730/p/6239056.html
numpy詳細介紹https://blog.csdn.net/qq351469076/article/details/78817378