Pandasの欠損値を確認し補完する方法[Python]

はじめに

データ分析や機械学習のプロジェクトでは、データセットに欠損値(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]」というブログ記事の作成が完了しました。