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


いいなと思ったら応援しよう!