前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取
python免费学习资料以及群交流解答点击即可加入
在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误。这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值。
numpy.nan_to_num(x): 使用0代替数组x中的nan元素,使用有限的数字代替inf元素
使用范例:
>>>import numpy as np
>>> a = np.array([[np.nan,np.inf],\
... [-np.nan,-np.inf]])
>>> a
array([[ nan, inf],
[ nan, -inf]])
>>> np.nan_to_num(a)
array([[ 0.00000000e+000, 1.79769313e+308],
[ 0.00000000e+000, -1.79769313e+308]])
和此类问题相关的还有一组判断用函数,包括:
- isinf
- isneginf
- isposinf
- isnan
- isfinite
使用方法也很简单,以isnan举例说明:
>>> import numpy as np
>>> np.isnan(np.array([[1, np.nan, np.inf],\
... [np.nan, -np.inf, -0.25]]))
array([[False, True, False],
[ True, False, False]], dtype=bool)