# Check if a given string is NaN in Python

Hi guys, today we will learn about NaN. In addition, we will learn about checking whether a given string is a NaN in Python. You will be wondering what’s this NaN. So let me tell you that Nan stands for Not a Number. It is a member of the numeric data type that represents an unpredictable value. For example, Square root of a negative number is a NaN, Subtraction of an infinite number from another infinite number is also a NaN. so basically, NaN represents an undefined value in a computing system.

## How to Check if a string is NaN in Python

We can check if a string is NaN by using the property of NaN object that a NaN != NaN.

Let us define a boolean function isNaN() which returns true if the given argument is a NaN and returns false otherwise.

def isNaN(string): return string != string print(isNaN("hello")) print(isNaN(np.nan))

The output of the following code will be

False True

We can also take a value and convert it to float to check whether it is NaN. For these, we import the math module and use the math.isnan() method. See the below code.

def isnan(value): try: import math return math.isnan(float(value)) except: return False print(isnan('hello')) print(isnan('NaN')) print(isnan(100)) print(isnan(str()))

Output:

False True False False

A NaN can also be used to represent a missing value in computation. See the below code:

import numpy as np l=['abc', 'xyz', 'pqr', np.nan] print(l) l_new=['missing' if x is np.nan else x for x in l] print(l_new)

Output:

['abc', 'xyz', 'pqr', nan] ['abc', 'xyz', 'pqr', 'missing']

Also read:

## Leave a Reply