The numpy.nan
is a floating point representation of Not a Number (NaN) used as a placeholder for undefined or missing values in
numerical computations.
Equality checks of variables against numpy.nan
in NumPy will always be False
due to the special nature of
numpy.nan
. This can lead to unexpected and incorrect results.
Instead of standard comparison the numpy.isnan()
function should be used.
Code examples
Noncompliant code example
import numpy as np
x = np.nan
if x == np.nan: # Noncompliant: always False
...
Compliant solution
import numpy as np
x = np.nan
if np.isnan(x):
...