はじめに
データ分析や機械学習のプロジェクトでは、データセットに欠損値(Missing Values)が含まれることがよくあります。欠損値はデータの不完全性を示すものであり、適切に扱う必要があります。
Pythonのデータ分析ライブラリであるPandasは、欠損値の確認と補完に便利な機能を提供しています。本記事では、Pandasを使用して欠損値を確認し、補完する方法を解説します。
欠損値の確認:isnull()とnotnull()メソッド
PandasのDataFrameオブジェクトには、欠損値を確認するための便利なメソッドがあります。それぞれの要素が欠損値であるかどうかを確認するには、isnull()
メソッドを使用します。
import pandas as pd # サンプルのDataFrameを作成 data = {'A': [1, 2, None, 4], 'B': [5, None, 7, 8]} df = pd.DataFrame(data) # 欠損値の確認 print(df.isnull())
上記のコードでは、DataFrameの各要素が欠損値かどうかを確認しています。結果は、True(欠損値)またはFalse(欠損値ではない)の値で表示されます。
また、notnull()
メソッドを使用すると、欠損値ではない要素を確認することもできます。
# 欠損値ではない要素の確認 print(df.notnull())
欠損値の数量確認:isnull().sum()を用いた手法
欠損値の数を確認するためには、isnull().sum()
メソッドを使用します。これにより、各列ごとに欠損値の数が集計されます。
# 欠損値の数量確認 print(df.isnull().sum())
上記のコードでは、各列に含まれる欠損値の数が表示されます。これにより、データセット全体の欠損値の状況を把握することができます。
欠損値の補完:fillna()メソッドを用いた手法
Pandasのfillna()
メソッドを使用すると、欠損値を指定した値や方法で補完することができます。例えば、欠損値を0で補完する場合は次のように記述します。
# 欠損値を0で補完 df_filled = df.fillna(0) # 補完後の結果表示 print(df_filled)
上記のコードでは、fillna()
メソッドを使用して欠損値を0で補完しています。補完後の結果が表示されます。
前後の値で欠損値を補完:bfill()とffill()メソッド
欠損値を前後の値で補完する場合は、bfill()
メソッド(後方補完)またはffill()
メソッド(前方補完)を使用します。これにより、前の有効な値または後の有効な値で欠損値が補完されます。
# 前方補完 df_filled_ffill = df.ffill() # 後方補完 df_filled_bfill = df.bfill() # 補完後の結果表示 print(df_filled_ffill) print(df_filled_bfill)
上記のコードでは、ffill()
メソッドを使用して前方補完とbfill()
メソッドを使用して後方補完を行っています。補完後の結果が表示されます。
平均値や中央値での欠損値補完:mean()、median()を用いた手法
欠損値をデータセット全体の平均値や中央値で補完する場合は、mean()
メソッド(平均値)やmedian()
メソッド(中央値)を使用します。
# 平均値での補完 df_filled_mean = df.fillna(df.mean()) # 中央値での補完 df_filled_median = df.fillna(df.median()) # 補完後の結果表示 print(df_filled_mean) print(df_filled_median)
上記のコードでは、mean()メソッドを使用して平均値での補完とmedian()メソッドを使用して中央値での補完を行っています。補完後の結果が表示されます。
まとめ
本記事では、Pandasを使用して欠損値を確認し補完する方法を解説しました。以下にまとめを記します。
- 欠損値の確認には
isnull()
とnotnull()
メソッドを使用します。 - 欠損値の数を確認するには
isnull().sum()
メソッドを使用します。 fillna()
メソッドを使用すると、指定した値や方法で欠損値を補完することができます。bfill()
メソッド(後方補完)やffill()
メソッド(前方補完)を使用すると、前後の値で欠損値を補完することができます。mean()
メソッドやmedian()
メソッドを使用して、平均値や中央値で欠損値を補完することができます。
Pandasの欠損値の確認と補完の方法をマスターすることで、データ分析プロジェクトの効率性を向上させることができます。ぜひ、実際のプロジェクトで活用してみてください。
以上で、「Pandasの欠損値を確認し補完する方法[Python]」というブログ記事の作成が完了しました。