Trusted answers to developer questions

How to assign NaN to a variable in Python

Get Started With Data Science

Learn the fundamentals of Data Science with this free course. Future-proof your career by adding Data Science skills to your toolkit — or prepare to land a job in AI, Machine Learning, or Data Analysis.

NaN, standing for not a number, is a numeric data type used to represent any value that is undefined or unpresentable.

For example, 0/0 is undefined as a real number and is, therefore, represented by NaN. The square root of a negative number is an imaginary number that cannot be represented as a real number, so, it is represented by NaN.

NaN is also assigned to variables, in a computation, that do not have values and have yet to be computed.

svg viewer

Note: NaN is not the same as infinity in Python


Assigning a NaN

We can create a NaN value in python using float, as shown below:

Note: Note that the “NaN” passed to the float is not case sensitive. All of the 4 variables come out as nan.

n1 = float("nan")
n2 = float("Nan")
n3 = float("NaN")
n4 = float("NAN")
print n1, n2, n3, n4

Note: You can also use Python’s Decimal library instead of floats. For example, you can do Decimal(“Nan”) instead of float(“Nan”).


NaN is also part of the math module in Python 3.5 and onwards. This can used as shown below:

import math
n1 = math.nan
print(n1)
print(math.isnan(n1))

math.isnan is used to check whether a certain variable is NaN or not. We cannot use the regular comparison operator, ==, to check for NaN. NaN is not equal to anything (not even itself!).

RELATED TAGS

nan
variable
python
assign
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?