Python快速转换numpy数组中Nan和Inf的方法实例说明

在使用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)

总结

以上是 Python快速转换numpy数组中Nan和Inf的方法实例说明 的全部内容, 来源链接: utcz.com/z/323916.html

回到顶部