NaN value in NumPy or Pandas is some type dangerous for data processing. Like the example below:

import numpy as np
import pandas as pd
df = pd.DataFrame({"col1": [None, None, None]})
df["col1"] = df["col1"].astype("float")
print(df)
print(df["col1"] >= 3.14)
print(df["col1"] < 3.14)
   col1
0   NaN
1   NaN
2   NaN
0    False
1    False
2    False
Name: col1, dtype: bool
0    False
1    False
2    False
Name: col1, dtype: bool

If we directly convert “None” to the “float” type, it will become the “NaN” value. The “Nan” couldn’t be compared with real float number therefore it is neither “bigger or equal than” a float-point number nor “smaller than” it.

Since only float-point type could allow the “None” value in a column, we should be much careful when processing with float-point number.