PythonのPandasでNullが含まれる行だけを抽出/削除する方法について
Nullを削除
全てNullの行を削除
DF.dropna(how='all')
1つでもNullが含まれる行を削除
DF.dropna(how='any')
#または
DF.dropna()
デフォルトで「how=’any’」が指定されているので「.dropna()」でもOK
特定の列にNullが含まれる行を削除
DF.dropna(subset=['ID', 'Age','Cabin'])
「subset=」で対象の列を指定する。複数列指定する場合は[ ]で配列に。
Nullを抽出する
1つでもNullが含まれる行を抽出
DF[DF.isnull().any(axis=1)]
##参考
DF.isnull().any(axis=1)
# 0 True
# 1 False
# 2 True
# 3 False
# 4 True
# ...
# 886 True
# 887 False
# 888 True
# 889 False
# 890 True
「DF.isnull()」にて各行列にてNullの値が”True”となる。
「.any(axis=1)」にて、各行に1つでもTrueがある行は”True”を返す。「axis=1」は行方向の指定、これがないと列方向にT/Fを確認することになる
特定の列にNullが含まれる行を抽出
DF[DF['Cabin'].isna()]
「DF[‘Cabin’]」にて特定の列だけを抽出し、.isna()でその列がNullかどうかを判別する。