概要
読み込んだデータの欠損値を処理する方法
他にも「Learn Python In Seminar」のシリーズとして書いているので、よければご覧ください!
実装
データの種類
- 明確な欠損値:「スペース」や「NaN」
- 曖昧な欠損値:「?」や「-」、本来のデータとは性質が違う値
1の「明確な欠損値」はpandasで自動認識ができるが、曖昧な欠損値は自動認識できない。
Pandasをインポート
import pandas as pd
確認
Pandasライブラリのisnull関数で欠損値を確認
# データの要約
df.info()
# 欠損値はTrue、欠損値以外はFalse
DataFrame.isnull()
# sum関数を加えることで、「どのカラム」に「どれだけ」の欠損値があるか確認可能
DataFrame.isnull().sum()
# 欠損値を含むサンプルを抽出
DataFrame[DataFrame.isnull().any(axis=1)]
処理
削除する場合
欠損値が入っている場合は行自体が欠損値となるため、欠損値の行を削除
DataFrame.dropna()
補完する場合
補完する場合は数的データは平均値、質的データは最頻値で置き換えることが多い
# シリーズ名A内の欠損値を、対応するシリーズBの値に変換
# シリーズAに直接上書き保存
DataFrame[シリーズ名A].fillna(シリーズ名B, inplace=True)
# 確認
DataFrame.loc[行(インデックス),列(カラム]