📅  最后修改于: 2020-06-28 06:35:42             🧑  作者: Mango
numpy.nan_to_num()
当我们要用零替换nan(Not A Number)并将inf替换为有限数字时,可以使用函数。它返回一个非常大的数(正)无穷大和一个很小(或负数)的负无穷大。
语法:numpy.nan_to_num(arr, copy=True)
参数:
arr: [array_like]输入数据。
copy: [bool,可选]是创建arr的副本(True)还是就地替换值(False)。仅当强制转换为数组不需要副本时才执行就地操作。默认值为True。
返回: [ndarray]具有与arr相同的形状和arr中元素的dtype的形状的精度最高的新数组。如果arr不精确,则将NaN替换为零,并将无穷大(-infinity)替换为适合输出dtype的最大(最小或最大负数)浮点值。如果arr不精确,则返回arr的副本。
代码1:
# 解释numpy.nan_to_num()函数的Python程序
import numpy as geek
in_num = geek.nan
print ("输入号码 : ", in_num)
out_num = geek.nan_to_num(in_num)
print ("输出数字 : ", out_num)
输出:
输入号码 : nan
输出数字 : 0.0
代码2:
# 解释numpy.nan_to_num函数的Python程序
import numpy as geek
in_arr = geek.array([[2, geek.inf, 2], [2, 2, geek.nan]])
print ("输入数组 : ", in_arr)
out_arr = geek.nan_to_num(in_arr)
print ("输出数组: ", out_arr)
输出:
输入数组 : [[ 2. inf 2.]
[ 2. 2. nan]]
输出数组: [[ 2.00000000e+000 1.79769313e+308 2.00000000e+000]
[ 2.00000000e+000 2.00000000e+000 0.00000000e+000]]
代码3:
# 解释numpy.nan_to_num函数的Python程序
import numpy as geek
in_arr = geek.array([[2, 2, 2], [2, 2, 6]])
print ("输入数组 : ", in_arr)
out_arr = geek.nan_to_num(in_arr)
print ("输出数组: ", out_arr)
输出:
输入数组 : 输入数组 : [[2 2 2]
[2 2 6]]
输出数组: [[2 2 2]
[2 2 6]]