This rule raises an issue when an equality check is made against numpy.nan.
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.
import numpy as np
x = np.nan
if x == np.nan: # Noncompliant: always False
...
import numpy as np x = np.nan if np.isnan(x): ...