欠損の割合が大きすぎるレコードは特徴量として使えないことが多いです。
今回は一定の割合で欠損が多いカラムを削除するコードの紹介です
Pythonコード
# Nanだけでなく無限大,マイナス無限大をNanに直し、欠損とカウントさせる
df = df.replace([np.inf, -np.inf], np.nan)
# 各列ごとに、8割欠損がある列を削除
for col in df.columns:
# nanになっている行数をカウント
nans = df[col].isnull().sum()
# nan行数を全体の行数で割り、8割欠損している列(col)にのみ処理
if nans / len(df) > 0.8:
# 8割欠損列を削除
print("drop", col)
df.drop(col, axis=1, inplace=True)
0.8の部分は適宜変更してください。
それでは!
コメント