Not a number
Not a number#
Not a number is a special floating point value to signal that the result of a floating point calculation is invalid.
In text we usually use NaN to refer to the Not-a-Number value.
For example, dividing 0 by 0 is invalid, and returns a NaN value:
import numpy as np
np.array(0) / 0
/tmp/ipykernel_4700/2135315712.py:1: RuntimeWarning: invalid value encountered in divide np.array(0) / 0
As you see above, Numpy uses all lower-case:
nan for the NaN value.
You can also find the NaN value in the Numpy module:
NaN values are not equal to anything#
The NaN value has some specific properties.
It is not equal to anything, even itself:
np.nan == 0
np.nan == np.nan
Detecting NaN values#
You have found above that you cannot look for NaN values by using
To allow for this, use
np.isnan to tell you whether a number or an array
element is NaN.