float(nan')表示nan(不是数字)。但我该如何检查呢?
当前回答
另一种方法是,如果你坚持低于2.6,你没有numpy,也没有IEEE 754支持:
def isNaN(x):
return str(x) == str(1e400*0)
其他回答
使用math.isnan:
>>> import math
>>> x = float('nan')
>>> math.isnan(x)
True
这里有三种方法可以测试变量是否为“NaN”。
import pandas as pd
import numpy as np
import math
# For single variable all three libraries return single boolean
x1 = float("nan")
print(f"It's pd.isna: {pd.isna(x1)}")
print(f"It's np.isnan: {np.isnan(x1)}}")
print(f"It's math.isnan: {math.isnan(x1)}}")
输出
It's pd.isna: True
It's np.isnan: True
It's math.isnan: True
numpy.isnan(数字)告诉你它是不是NaN。
另一种方法是,如果你坚持低于2.6,你没有numpy,也没有IEEE 754支持:
def isNaN(x):
return str(x) == str(1e400*0)
math.isnan()
或将数字与自身进行比较。NaN总是!=NaN,否则(例如,如果是数字),比较应成功。