Python numpy.nan_to_num()

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]]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程