6. Nan 和无穷大
在
numpy
中,有几个特殊的数:numpy.nan
表示NaN
(Not a Number
),它并不等价于numpy.inf
(无穷大)。numpy.inf
:正无穷numpy.PINF
:正无穷(它就引用的是numpy.inf
)numpy.NINF
:负无穷
有下列函数用于判断这几个特殊的数:
numpy.isnan(x[,out])
:返回x
是否是个NaN
,其中x
可以是标量,可以是数组numpy.isfinite(x[, out])
:返回x
是否是个有限大小的数,其中x
可以是标量,可以是数组numpy.isfinite(np.nan)
返回False
,因为NaN
首先就不是一个数
numpy.isposinf(x[, out])
:返回x
是否是个正无穷大的数,其中x
可以是标量,可以是数组numpy.isposinf(np.nan)
返回False
,因为NaN
首先就不是一个数
numpy.isneginf(x[, out])
:返回x
是否是个负无穷大的数,其中x
可以是标量,可以是数组numpy.isneginf(np.nan)
返回False
,因为NaN
首先就不是一个数
numpy.isinf(x[, out])
:返回x
是否是个无穷大的数,其中x
可以是标量,可以是数组numpy.isinf(np.nan)
返回False
,因为NaN
首先就不是一个数
下列函数用于对这几个特殊的数进行转换:
numpy.nan_to_num(x)
:将数组x
中的下列数字替换掉,返回替换掉之后的新数组:NaN
:替换为0- 正无穷:替换为一个非常大的数字
- 负无穷:替换为一个非常小的数字