Pythonとそのデータ分析ライブラリであるpandasでは、欠損値を表現するためにNaN
とNone
が使用されます。これらは、データセット内の値が存在しない、または未知であることを示します。
pandasでの欠損値の扱い
pandasでは、欠損値はNumPyのNaN
(np.nan
)とPythonのNone
で表現することができます。NaN
は、IEEE浮動小数点表現を使用するシステムで認識される特殊な浮動小数点数値です。
以下に、pandasでの欠損値の簡単な例を示します。
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)
このコードを実行すると、以下のような出力が得られます。
A B C
0 1.0 5.0 1
1 2.0 NaN 2
2 NaN NaN 3
ここで、NaN
は欠損値を表しています。
欠損値の検出
pandasでは、isnull()
やnotnull()
メソッドを使用してデータフレーム内の欠損値を検出することができます。これらのメソッドは、各要素がNaN
またはNone
であるかどうかをチェックし、ブール値(True
またはFalse
)を返します。
以下に、これらのメソッドの使用例を示します。
print(df.isnull())
このコードを実行すると、以下のような出力が得られます。
A B C
0 False False False
1 False True False
2 True True False
ここで、True
は該当の位置に欠損値が存在することを示しています。
欠損値の処理
pandasでは、dropna()
やfillna()
メソッドを使用して欠損値を処理することができます。dropna()
メソッドは、欠損値を含む行または列を削除します。一方、fillna()
メソッドは、欠損値を指定した値で埋めます。
以下に、これらのメソッドの使用例を示します。
# 欠損値を含む行を削除
df_drop = df.dropna()
# 欠損値を0で埋める
df_fill = df.fillna(0)
以上、Pythonとpandasでの欠損値(NaN
、None
)の扱いについて説明しました。データ分析を行う際には、欠損値の扱いが重要となるため、これらのメソッドの使用方法を覚えておくと便利です。.