
pandasでnull値を判定する方法のメモです。
isnull()やnotnull()を使用します。
ちなみに、データフレームにnull値を設定するときはNoneを入れます。
import pandas as pd
df = pd.DataFrame({
'A' : [1, 2, 2, 3, 3,None,5],
'B' : [1, 1, 2, 2, None,4,5]
})
print df
print '------------------------'
print df.loc[df.A.isnull(), :] #Aがnullの行を表示
print '------------------------'
print df.loc[df.B.isnull(), :] #Bがnullの行を表示
print '------------------------'
print df.loc[df.A.notnull(), :] #Aがnull以外の行を表示
print '------------------------'
print df.loc[df.B.notnull(), :] #Bがnull以外の行を表示
実行結果は以下のようになります。
A B
0 1.0 1.0
1 2.0 1.0
2 2.0 2.0
3 3.0 2.0
4 3.0 NaN
5 NaN 4.0
6 5.0 5.0
------------------------
A B
5 NaN 4.0
------------------------
A B
4 3.0 NaN
------------------------
A B
0 1.0 1.0
1 2.0 1.0
2 2.0 2.0
3 3.0 2.0
4 3.0 NaN
6 5.0 5.0
------------------------
A B
0 1.0 1.0
1 2.0 1.0
2 2.0 2.0
3 3.0 2.0
5 NaN 4.0
6 5.0 5.0
pandasについての詳しく知りたい方は書籍もおすすめです。