\

Pythonでデータ分析を行う際、欠損値(null値)の扱いは重要な課題となります。欠損値の扱い方が変わるだけで分析の結果が変化する場合もあります。今回はPythonでnull値を削除する方法について解説します。

Pandasのfillnaとdropnaを使う

Pandasライブラリには欠損値を扱うための関数が用意されています。具体的にはfillnadropnaです。

欠損値の確認

まずは各列に欠損値があるかどうかを知りたい場合、isnull関数とany関数の組み合わせとnotnull関数とall関数の組み合わせがあります。

import pandas as pd
import numpy as np

data = np.random.randn(5,5)
data[1,3] = np.nan # 欠損値を入れる
data[2,0] = np.nan # 欠損値2つ目
df = pd.DataFrame(data, columns=['A','B','C','D','E']) # DataFrameの作成

print(df.isnull().any())  # 欠損値のある列に True が返されます
print(df.notnull().all())  # 欠損値のある列に False が返されます

欠損値の削除

欠損値を削除するにはdropna関数を使います。この関数はNaN値 (欠損値)をドロップ (除外)します。

df = pd.Series([1, 2, 3, np.nan, 0, None], index=['A','B','C','D','E','F']) # 欠損値を含むデータを作成
print(df.dropna())  # NaN値を含むところが切り落とされる結果になります

DataFrameだとデフォルトの設定でdropnaを適用すると欠損値を1つでも含む行は削除されます。

df_2 = pd.DataFrame({'A':[0, 1, np.nan, 2],'B':[np.nan,2, 3, 4]})
print(df_2.dropna())  # 0,2行目が削除される

以上がPythonでnull値を削除する基本的な方法です。データ分析を行う際には、これらの方法を活用してデータのクレンジングを行いましょう。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です