在使用numpy数组的过程中时常会出现nan或者inf的元素,可能会造成数值计算时的一些错误。这里提供一个numpy库函数的用法,使nan和inf能够最简单地转换成相应的数值。
numpy.nan_to_num(x):
使用0代替数组x中的nan元素,使用有限的数字代替inf元素
使用范例:
1
2
3
4
5
6
7
8
9
|
>>> 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举例说明:
1
2
3
4
5
|
>>> 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 ) |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/u010158659/article/details/50814706