42

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,631
  • 3
  • 22
  • 27

1 Answers1

73

you can use .isna() method:

In [48]: df[df[2].isna()]
Out[48]:
   0  1   2
1  3  4 NaN
MaxU - stand with Ukraine
  • 205,989
  • 36
  • 386
  • 419