機械学習をする際、データの制御に時間を要することがあります。ここでは欠損値(Null値)のPythonでの制御方法を紹介していきたいと思います。
ここで紹介すること
① 全ての値が欠損値(NULL)である列を削除
② 全ての値が欠損値(NULL)である行を削除
③ 欠損値(NULL)がある行の削除
④ 欠損値(NULL)がある列を削除
使用環境
Google Colaboratory
必要ライブラリの読み込み
データ加工に必要なライブラリを読み込みます。
1 2 3 4 5 6 7 |
############################## # ライブラリの読み込み ############################## # ライブラリ読み込み import numpy as np import pandas as pd |
① 全ての値が欠損値(NULL)である行を削除
行を選択する場合は、axis=0 とします。
1 2 3 4 5 |
############################## # 全ての値が欠損値である行を削除 ############################## df = df.dropna(how='all', axis=0) |
② 全ての値が欠損値(NULL)である列を削除
列を選択する場合は、axis=1 とします。
1 2 3 4 5 |
############################## # 全ての値が欠損値(NULL)である列を削除 ############################## df = df.dropna(how='all', axis=1) |
③ 欠損値(NULL)がある行の削除
1 2 3 4 5 |
############################## # 欠損値がある行の削除 ############################## df = df.dropna(axis=0) |
④ 欠損値(NULL)がある列を削除
1 2 3 4 5 |
############################## # 欠損値がある列を削除 ############################## df = df.dropna(axis=1) |
おわりに
いかがでしたでしょうか? 機械学習では、データの前処理で総時間の7割を使うと言われています。
データの制御に時間を費やさないこともデータサイエンティストにとって大事な技術と言えます。
その他にも前処理をするやりかたを紹介していますのでほかのページも見ていただければと思います。