Python中的NaN及有效性检查

13 投票
2 回答
40308 浏览
提问于 2025-04-16 17:43

我正在做一个程序,目的是优化一些数值。由于方程的关系,我的数值有时候会变成NaN。

我的问题是,有些输入值是NaN。

我想知道有没有什么方法可以检查这些值是否合理,这样我就可以跳过这些值并重新尝试。

到目前为止,我尝试过检查

a==np.nan, a==nan, b=a a==b

但没有成功。

希望你们能帮我。

谢谢。

2 个回答

7

从Python 2.6开始,你可以使用 import math 来引入数学库,然后用 math.isnan(a) 来检查一个值是否是“不是一个数字”(NaN)。

详细信息可以查看这个链接:http://docs.python.org/library/math.html#math.isnan

30

使用numpy,

import numpy as np
np.isnan(np.nan) # returns True

撰写回答