33

How do I select those rows of a DataFrame whose value in a column is none?

I've coded these to np.nan and can't match against this type.

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: []
zadrozny
  • 1,353
  • 2
  • 19
  • 25

1 Answers1

60

you can use .isna() method:

In [48]: df[df[2].isna()]
Out[48]:
   0  1   2
1  3  4 NaN
MaxU - stop genocide of UA
  • 191,778
  • 30
  • 340
  • 375