Python pandas: выбор строк, значение столбца которых равно null/None/nan

Как выбрать те строки DataFrame, значение которых в столбце равно none?

Я закодировал их до np.nan и не могу сравниться с этим типом.

In [1]: import numpy as np

In [2]: import pandas as pd

In [3]: df = pd.DataFrame([[1, 2, 3], [3, 4, None]])

In [4]: df
Out[4]: 
   0  1    2
0  1  2  3.0
1  3  4  NaN

In [5]: df = df.fillna(np.nan)

In [6]: df
Out[6]: 
   0  1    2
0  1  2  3.0
1  3  4  NaN

In [7]: df.iloc[1][2]
Out[7]: nan

In [8]: df.iloc[1][2] == np.nan
Out[8]: False

In [9]: df[df[2] == None]
Out[9]: 
Empty DataFrame
Columns: [0, 1, 2]
Index: []

Ответ 1

Вы можете использовать метод .isna():

In [48]: df[df[2].isna()]
Out[48]:
   0  1   2
1  3  4 NaN