LoginSignup
1
5

More than 3 years have passed since last update.

『Kaggle備忘録』欠損値の検索・削除

Last updated at Posted at 2020-02-18

目的

欠損値のある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

スクリーンショット 2020-02-18 9.57.36.png

この中で欠損を含むColumnは

DropColumn.py
cols_missing=[col for col in X_full.columns
            if X_full[col].isnull().any()]
cols_missing

スクリーンショット 2020-02-18 9.58.59.png

らしい.これらを一括で削除する.

DropColumn.py
reduced_X_full=X_full.drop(cols_missing,axis=1)
reduced_X_full

スクリーンショット 2020-02-18 10.00.27.png

削除完了.

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

スクリーンショット 2020-02-18 11.44.55.png
列名を元に戻す

ImputeValue.py
imputed_X_full.columns=X_full.columns
imputed_X_full.columns

スクリーンショット 2020-02-18 11.45.42.png

補完完了.

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5