Python numpy.nan_to_num()
numpy.nan_to_num()函数用于当我们想在一个数组中用零替换nan(Not A Number),用inf替换有限的数字。它用一个非常大的数字返回(正)无穷大,用一个非常小(或负)的数字返回负无穷大。
语法 : numpy.nan_to_num(arr, copy=True)
参数 :
arr :[array_like] 输入数据。
copy :[bool, optional] 是否创建Arr的副本(True)或就地替换值(False)。只有在向数组投递时不需要复制时,才会发生原位操作。默认为True。
返回 :[ndarray] 新的数组,其形状与arr相同,并且Arr中的元素的dtype具有最大的精度。如果arr是不精确的,那么NaN被替换为0,而无穷大(-infinity)被替换为适合输出dtype的最大(最小或最负)浮点值。如果arr不是不精确的,那么将返回arr的一个副本。
**代码 #1 : **
# Python program explaining
# numpy.nan_to_num() function
import numpy as geek
in_num = geek.nan
print ("Input number : ", in_num)
out_num = geek.nan_to_num(in_num)
print ("output number : ", out_num)
输出 :
Input number : nan
output number : 0.0
代码 #2 :
# Python program explaining
# numpy.nan_to_num function
import numpy as geek
in_arr = geek.array([[2, geek.inf, 2], [2, 2, geek.nan]])
print ("Input array : ", in_arr)
out_arr = geek.nan_to_num(in_arr)
print ("output array: ", out_arr)
输出 :
Input array : [[ 2. inf 2.]
[ 2. 2. nan]]
output array: [[ 2.00000000e+000 1.79769313e+308 2.00000000e+000]
[ 2.00000000e+000 2.00000000e+000 0.00000000e+000]]
代码 #3 :
# Python program explaining
# numpy.nan_to_num function
import numpy as geek
in_arr = geek.array([[2, 2, 2], [2, 2, 6]])
print ("Input array : ", in_arr)
out_arr = geek.nan_to_num(in_arr)
print ("Output array: ", out_arr)
输出 :
Input array : Input array : [[2 2 2]
[2 2 6]]
Output array: [[2 2 2]
[2 2 6]]