null/nan/none

  1. 在 Python 中判断一个浮点数是否为 NaN
float("inf") # 正无穷
float("-inf") # 负无穷
inf = float("inf")
ninf = float("-inf")
nan = float("nan")

方法一

import math
math.isinf(inf)
math.isinf(ninf)
math.isnan(nan)  # 总算可以判断了

方法二

>>> def isnan(num):
...  return num != num
... 
>>> isnan(float("nan"))
True

方法三:

>>> import numpy as np
>>> np.isnan(np.nan)
True
>>> np.isnan(float("nan"))
True
>>> np.isnan(float("inf"))
False

Numpy 的 isnan 函数还可以对整个 list 进行判断:

>>> lst = [1, float("nan"), 2, 3, np.nan, float("-inf"), 4, np.nan]
>>> lst
[1, nan, 2, 3, nan, -inf, 4, nan]
>>> np.isnan(lst)
array([False, True, False, False, True, False, False, True], dtype=bool)

你可能感兴趣的:(null/nan/none)