nan-comparison (PLW0177)
Derived from the Pylint linter.
This rule is unstable and in preview. The --preview
flag is required for use.
What it does
Checks for comparisons against NaN values.
Why is this bad?
Comparing against a NaN value can lead to unexpected results. For example,
float("NaN") == float("NaN")
will return False
and, in general,
x == float("NaN")
will always return False
, even if x
is NaN
.
To determine whether a value is NaN
, use math.isnan
or np.isnan
instead of comparing against NaN
directly.
Example
Use instead: