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

Run this code online

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