(一)定义和区别
在 Python 中,
nan 和 None 是两个不同的概念,具有不同的含义和用法。nan表示“非数值”(Not a Number),属于浮点数类型的一种特殊值。它表示一个数不是有效数值,比如除以 0 或者开方负数,都会得到nan的结果。可以使用math.nan或numpy.nan常量来表示nan。
None表示空值或者不存在,类似于其他编程语言中的 null、nil 等概念。可以将其看做一个特殊的对象。在 Python 中,函数如果没有返回值,就会默认返回None;对于变量初始化时未赋值的情况,也会默认为None。可以使用is运算符来判断一个变量是否为None。
区别:
nan表示一个无效的数值,通常用于表示某种计算的错误结果;而None表示不存在,通常用于表示变量的空值。
nan属于浮点数类型,而None属于对象类型。
- 重要:
nan不能与任何值相等,包括自己,使用==比较它们永远返回False;而None只能与自己相等,使用==比较时,只有相等才返回True。
(二)处理方法
1,None的处理
如果要将列表或其他类似数据结构中的所有
None 值都转化为 0,可以使用列表解析式和条件表达式实现。例如:2,nan的处理
1)使用
numpy的函数nan_to_num2)使用
numpy的函数isnan注意这个方法需要在
np.array()里面使用。3)利用
np.nan != np.nan这个性质介绍太多方法也没有意义哈,不管黑猫白马,能抓老鼠就是好猫~