PandasでNullの行を削除/抽出する

※当サイトはアフィリエイト広告を利用しています

データ分析

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かどうかを判別する。

この記事を読んだ人がよく見ています

タイトルとURLをコピーしました