numpy.nan_to_num() in Python

numpy.nan_to_num() function is used when we want to replace nan(Not A Number) with zero and inf with finite numbers in an array. It returns (positive) infinity with a very large number and negative infinity with a very small (or negative) number.

Syntax : numpy.nan_to_num(arr, copy=True)

Parameters :
arr : [array_like] Input data.
copy : [bool, optional] Whether to create a copy of arr (True) or to replace values in-place (False). The in-place operation only occurs if casting to an array does not require a copy. Default is True.

Return : [ndarray] New Array with the same shape as arr and dtype of the element in arr with the greatest precision. If arr is inexact, then NaN is replaced by zero, and infinity (-infinity) is replaced by the largest (smallest or most negative) floating point value that fits in the output dtype. If arr is not inexact, then a copy of arr is returned.

Code #1 : Working



filter_none

edit
close

play_arrow

link
brightness_4
code

# 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) 

chevron_right


Output :

Input  number :  nan
output  number :  0.0

 
Code #2 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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) 

chevron_right


Output :

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

 
Code #3 :

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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) 

chevron_right


Output :

Input array :  Input array :  [[2 2 2]
 [2 2 6]]
Output array:  [[2 2 2]
 [2 2 6]]


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.