pythonおぼえがき - データの前処理(確認、欠損値対応)
データの取り込みが終わったら、データの確認、欠損値の対応を行う
データの型や基本統計情報を確認する
#型を確認
.info()
#基本統計量を確認
.describe()
#相関係数を確認
.corr()
#行、列数
.shape
#欠損値の数を確認
.isnull().sum()
欠損値を削除
データ量が多く、欠損値の割合も小さい場合は、欠損値がある行や列自体を削除してしまう
#行を削除
df = df.dropna()
#列を削除
df = df.dropna(axis=1)
#欠損値(NaN)ではない値がN個未満の"行"を削除
df = df.dropna(thresh=N)
#特定の列に欠損値(NaN)を含む"行"を削除
df = df.dropna(subset=[“列名”])
欠損値を穴埋めする
欠損値が多い場合は削除するのではなく、平均値、最頻値、中央値などで欠損値を穴埋めするのが一般的
①ライブラリをインポート
import numpy as np
from sklearn.impute import SimpleImputer
②欠損値(NaN) に対して値(most_frequent) を割り当てるImputerオブジェクトを生成
imp = SimpleImputer(missing_values=np.nan, strategy=“埋める種類”)
#埋める種類”most_frequent” ”median” ”mean”
③データセットの学習 + strategy=“埋める種類”に基づいて欠損値(NaN)を置き換える
values = imp.fit_transform(df[[“列名”]])
④DataFrameに変換したデータを代入する
df[[“列名”]] = values