目的
欠損値のあるcolumnを削除する方法のメモ.
環境・使用データ
使用データ:Kaggle cources: Intermediate Machine Learning - Missing Valuesの家賃データ
環境:Kaggle notebook
やったこと
モジュール・osの準備,データの読み込み
DropColumn.py
#os,モジュールのインポート
import os
import pandas as pd
#データの読み込み
X_full=pd.read_csv('../input/train.csv',index_col='Id')
X_full
には以下のインデックスがある
DropColumn.py
X_full.columns
この中で欠損を含むColumnは
DropColumn.py
cols_missing=[col for col in X_full.columns
if X_full[col].isnull().any()]
cols_missing
らしい.これらを一括で削除する.
DropColumn.py
reduced_X_full=X_full.drop(cols_missing,axis=1)
reduced_X_full
削除完了.
2.欠損値の補完
scikit-learnのSimpleImputer
を使う方法
SimpleImputer
は,中央値,平均値などの統計値を欠損値の補完に使う.
例えば,中央値で補完するなら
imputer=SimpleImputer(strategy='median')
のように指定する.
ImputeValue.py
#imputerの定義
from sklearn.impute import SimpleImputer
imputer=SimpleImputer(strategy='median')
#X_fullの欠損値を補完する
imputed_X_full=pd.DataFrame(imputer.fit_transform(X_full))
このままだとimputed_X_full
の列名は序数になっている
ImputeValue.py
imputer_X_full.columns
ImputeValue.py
imputed_X_full.columns=X_full.columns
imputed_X_full.columns
補完完了.