欠損値の検出
Pandasでは、データフレーム内の欠損値を検出するための便利なメソッドが提供されています。具体的には、isnull()
メソッドを使用します。このメソッドは、データフレームの各要素が欠損値(NaN)であるかどうかをチェックし、同じ形状のブール値データフレームを返します。以下に例を示します。
import pandas as pd
import numpy as np
# データフレームを作成
df = pd.DataFrame({
'A': [1, 2, np.nan],
'B': [5, np.nan, np.nan],
'C': [1, 2, 3]
})
print(df.isnull())
上記のコードを実行すると、以下のような出力が得られます。
A B C
0 False False False
1 False True False
2 True True False
この出力から、’A’列の3行目と’B’列の2行目と3行目に欠損値が存在することがわかります。このように、isnull()
メソッドは欠損値の位置を素早く把握するのに役立ちます。次のセクションでは、これらの欠損値を含む行をどのように表示するかを説明します。
欠損値のある行の表示
Pandasでは、欠損値を含む行を表示するためには、isnull()
メソッドとany()
メソッドを組み合わせて使用します。具体的には、以下のようにします。
print(df[df.isnull().any(axis=1)])
上記のコードは、データフレームの各行について、その行に一つでも欠損値が含まれている場合にTrueを返します。そして、その結果を元にデータフレームから欠損値を含む行だけを抽出します。
例えば、先ほどのデータフレームに対してこのコードを実行すると、以下のような出力が得られます。
A B C
1 2.0 NaN 2
2 NaN NaN 3
この出力から、2行目と3行目に欠損値が存在することがわかります。このように、Pandasのisnull()
メソッドとany()
メソッドを組み合わせることで、欠損値を含む行を簡単に抽出することができます。次のセクションでは、欠損値の数の集計方法について説明します。
欠損値の数の集計
Pandasでは、データフレーム内の欠損値の数を集計するためにisnull()
メソッドとsum()
メソッドを組み合わせて使用します。具体的には、以下のようにします。
print(df.isnull().sum())
上記のコードは、データフレームの各列について、その列に含まれる欠損値の数を計算します。
例えば、先ほどのデータフレームに対してこのコードを実行すると、以下のような出力が得られます。
A 1
B 2
C 0
dtype: int64
この出力から、’A’列に1つ、’B’列に2つの欠損値が存在し、’C’列には欠損値が存在しないことがわかります。このように、Pandasのisnull()
メソッドとsum()
メソッドを組み合わせることで、欠損値の数を簡単に集計することができます。次のセクションでは、欠損値の補完と削除方法について説明します。
欠損値の補完と削除
Pandasでは、欠損値の補完と削除を行うための便利なメソッドが提供されています。具体的には、fillna()
メソッドとdropna()
メソッドを使用します。
欠損値の補完
fillna()
メソッドを使用すると、欠損値を指定した値で補完することができます。以下に例を示します。
df_filled = df.fillna(0)
print(df_filled)
上記のコードは、データフレームの欠損値を0で補完します。
欠損値の削除
一方、dropna()
メソッドを使用すると、欠損値を含む行または列を削除することができます。以下に例を示します。
df_dropped = df.dropna()
print(df_dropped)
上記のコードは、データフレームから欠損値を含む行を削除します。
これらのメソッドを適切に使用することで、欠損値の扱いを柔軟に行うことができます。ただし、どの方法を選択するかは、具体的な分析の目的やデータの性質によります。そのため、これらのメソッドを使用する際には、その影響を理解した上で適切な選択を行うことが重要です。