numpy.isnan() in Python (original) (raw)

Last Updated : 08 Mar, 2024

The numpy.isnan() function tests element-wise whether it is NaN or not and returns the result as a boolean array. Syntax :

numpy.isnan(array [, out])

Parameters :

array : [array_like]Input array or object whose elements, we need to test for infinity out : [ndarray, optional]Output array placed with result. Its type is preserved and it must be of the right shape to hold the output.

Return :

boolean array containing the result. For scalar input, the result is a new boolean with value True if the input is positive or negative infinity; otherwise the value is False. For array input, the result is a boolean array with the same shape as the input and the values are True where the corresponding element of the input is positive or negative infinity; elsewhere the values are False.

Code 1 :

Python

import numpy as geek

print ( "Is NaN : " , geek.isnan( 1 ), "\n" )

print ( "Is NaN : " , geek.isnan( 0 ), "\n" )

print ( "Is NaN : " , geek.isnan(geek.nan), "\n" )

print ( "Is NaN : " , geek.isnan(geek.inf), "\n" )

print ( "Is NaN : " , geek.isnan(geek.NINF), "\n" )

x = geek.array([ - geek.inf, 0. , geek.inf])

y = geek.array([ 2 , 2 , 2 ])

print ( "Checking for NaN : " , geek.isnan(x, y))

Output :

Is NaN : False

Is NaN : False

Is NaN : True

Is NaN : False

Is NaN : False

Checking for NaN : [0 0 0]

Code 2 :

Python

import numpy as geek

b = geek.arange( 20 ).reshape( 5 , 4 )

print ( "\n" ,b)

print ( "\nIs NaN(Not a Number): \n" , geek.isnan(b))

b = [[ 1j ],

`` [geek.nan]]

print ( "\nIs NaN(Not a Number) : \n" , geek.isnan(b))

Output :

[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] [16 17 18 19]]

Is NaN(Not a Number): [[False False False False] [False False False False] [False False False False] [False False False False] [False False False False]]

Is NaN(Not a Number) : [[False] [ True]]

Note : These codes won’t run on online IDE’s. So please, run them on your systems to explore the working.