python编程,如何判断变量是否为缺失值NaN?NaN表述
发布于 作者:苏南大叔 来源:程序如此灵动~

上文对python
的空值None
做了描述,本文描述缺失值NaN
,英文解释为Not A Number
。None
是单独的一个NoneType
,而NaN
被理解为float
类型中的一员,这可能就是两者的最大区别。

大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码之间的故事。测试环境:python@3.6.8
,pandas@1.1.5
,numpy@1.24.4
。
NaN表述
关于NaN
的表述方式,有两种:
python
原生对于NaN
的表述是这样的:
也可以表述为:
通过numpy
衍生的表述是这样的:
三者的输出,并不完全一致。
迷惑is判断【不推荐】
使用is
判断的话,明显好像有些烧脑。

特别是下面这条,主打的就是叛逆不等于。下面这条怎么就等于了呢?可以推断:np.nan
这是个代言词,float('nan')
可能这个才是本尊。
==自己,判断【推荐】
==自己
,返回值居然是False
,这是唯一一个不等于自己的变量!但是is 自己
返回值True
!

math.isnan()
既然NaN
归属于浮点数,所以,使用math.isnan()
进行判断,无可厚非。
numpy.isnan()
科学计算numpy
,也比如存在着一个isnan()
函数判断。
这个表面:float('nan')
和Decimal('nan')
,也是有一定区别的,否则不会报错。对不?
dataframe.isnull()
并不是用来做这个事情的,不过也是可以做相关计算。略显复杂。
正无穷、负无穷
值 | 表述1 | 表述2 | 表述3 |
---|---|---|---|
正无穷 | float("inf") | 暂无 | 暂无 |
负无穷 | float("-inf") | 暂无 | 暂无 |
缺失值 | float("nan") | Decimal('nan')) | np.nan |
正负无穷的情况,就待后续了。这里仅仅列出以表示两者和NaN
并不是一回事。
相关文章
- https://newsn.net/say/python-isnone.html
- https://newsn.net/say/python-all.html
- https://newsn.net/say/python-any.html
结语
不想写结语了,没有啥心情。连这些盗版我文章的兄弟,都不抄袭我的结语。郁闷...


