numpy.nan_to_num () in Python

numpy.nan_to_num() is used when we want to replace nan (not a number) with zero, but inf with finite numbers in the array. 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: Work

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

Output:

 Input number: nan output number : 0.0 

Code # 2:

# Python program explaining
# numpy.nan_to_num function

 

import numpy as geek

  

in_arr = geek.array ([[ 2 , geek.inf, 2 ], [ 2 , 2 < code class = "plain">, geek.nan]])

 

print ( " Input array: " , in_arr) 

 

out_arr = geek.nan_to_num (in_arr) 

print ( " output array: " , out_arr) 

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:

# Python program explained numpy
# 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) 

Output:

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