【Python】欠測データへの対処方法(pandas)

プログラミング

久しぶりの投稿になります。今回はPythonでデータ解析やる前に必ず必要となるデータの前処理の一つである、欠測データへの対処方法をご紹介します。今回参考にしたのは、以下の参考書です。

 

 

また、実装はGitHubにあげています。

Daisuke0209/preprocessing
Contribute to Daisuke0209/preprocessing development by creating an account on GitHub.

【Python】今回使うライブラリのインポート

まずはライブラリをインポートします。

 【Python】欠測データの作成

今回使用する欠測データを作成します。データはpandasのデータフレームで作成します。

データの中身は以下のようなものになります。

A B C D
0 1 2 3.0 4.0
1 5 6 NaN NaN
2 10 11 12.0 NaN

【Python】欠測値の数をカウント

以下を実行することで欠測値の数を各特徴量(A,B,C,D)毎に算出することができます。

【Python】欠測値を持つサンプルを取り除く

欠測値を含む行を削除

以下により欠測値を含む行を削除できます。

A B C D
0 1 2 3.0 4.0

ただし、上記を実行してもdfの中身が変わる訳ではありません。

欠損値を含む列を削除

欠損値を含む列を削除する場合はaxisを指定することでできます。実解析でこれをすることってあんまり無い気がします。

A B
0 1 2
1 5 6
2 10 11

【Python】欠測値を補完

最後に欠測値を補完する方法をご紹介します。色々な方法があります。以下のやり方は各特徴量ごとの平均値をNaNに入れています。

A B C D
0 1 2 3.0 4.0
1 5 6 7.5 4
2 10 11 12.0 4

まとめ

今回はPythonにおける欠測値の扱い方をご紹介しました!

また、機械学習を勉強するための参考書を以下で紹介しています!よかったら見ていってください。

機械学習を勉強するためのオススメ参考書(理論・Python・Webアプリ)
統計・機械学習に関しては授業で習ったところありますが、結構忘れてしまっています(。また、Rの演習の授業はありましたが、Pythonは学生のころには使っていません。機械学習・データサイエンスを勉強するにあたり、私が参考にしている参考書を一挙ご紹介したいと思います。

コメント