Pythonで欠損値を処理する
データ分析や機械学習を行う際に、欠損値の存在は避けて通れない課題です。欠損値とは、本来入力されるべきデータが何らかの理由で存在しない状態を指します。欠損値を適切に処理しないまま分析を進めると、計算エラーや分析結果の精度低下につながる可能性があります。
Pythonでは、Pandasライブラリを利用することで欠損値の確認や削除、補完を簡単に実施できます。本記事では、初心者向けに欠損値の基本的な処理方法を解説します。
欠損値を含むデータを作成する
まずは欠損値を含むサンプルデータを作成します。
import pandas as pd
import numpy as np
df = pd.DataFrame({
"名前": ["田中", "佐藤", "鈴木", "高橋"],
"年齢": [25, np.nan, 30, 28],
"売上": [1000, 2000, np.nan, 1500]
})
print(df)
実行すると、一部のデータが「NaN」として表示されます。これが欠損値です。
欠損値を確認する
どこに欠損値が存在するかを確認するには、isnull()を使用します。
print(df.isnull())
欠損値の件数を確認したい場合は以下のように記述します。
print(df.isnull().sum())
列ごとの欠損値件数を簡単に集計できます。
欠損値を削除する
欠損値を含む行を削除する場合はdropna()を使用します。
df_drop = df.dropna()
print(df_drop)
欠損値を含むレコードを除外して分析したい場合に便利です。
欠損値を補完する
欠損値を特定の値で置き換えるにはfillna()を利用します。
df_fill = df.fillna(0)
print(df_fill)
平均値で補完する場合は次のように記述できます。
df["年齢"] = df["年齢"].fillna(df["年齢"].mean())
print(df)
欠損値の補完方法は分析内容によって異なりますが、平均値や中央値を利用するケースが一般的です。
まとめ
PythonではPandasを利用することで、欠損値の確認、削除、補完を簡単に実施できます。実際の業務データでは欠損値が含まれていることが多いため、分析前の前処理として欠損値処理を習得しておくことが重要です。まずはisnull()、dropna()、fillna()の使い方を覚え、データ分析の基礎を身につけましょう。
コメント