fillnaメソッドの基本的な使い方
pandasのfillna
メソッドは、データフレーム内の欠損値(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]
})
このデータフレームでは、’A’列の3行目と’B’列の2行目と3行目に欠損値が存在します。
fillna
メソッドを使って、これらの欠損値を0で埋めてみましょう。
df.fillna(0)
これにより、元のデータフレームの欠損値がすべて0で埋められた新しいデータフレームが生成されます。
fillna
メソッドは、さまざまな引数を取ることができ、これにより欠損値の補完方法を細かく制御することが可能です。詳細な使用方法については、公式のpandasドキュメンテーションを参照してください。
条件に基づくfillnaの使用
pandasのfillna
メソッドは、単一の値を指定して全ての欠損値を埋めるだけでなく、条件に基づいて欠損値を埋めることも可能です。以下にその例を示します。
まず、以下のようなデータフレームを考えます。
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [5, np.nan, np.nan, 8, 9],
'C': [1, 2, 3, 4, 5]
})
このデータフレームでは、’A’列の3行目と’B’列の2行目と3行目に欠損値が存在します。
次に、’A’列の欠損値を0、’B’列の欠損値を99で埋めるとします。この場合、fillna
メソッドに辞書を渡すことで、列ごとに異なる値で欠損値を埋めることができます。
df.fillna({'A': 0, 'B': 99})
このように、fillna
メソッドを使うと、条件に基づいて欠損値を埋めることが可能です。これにより、より柔軟なデータ前処理が可能となります。
fillnaと他のpandas機能との組み合わせ
pandasのfillna
メソッドは、他のpandasの機能と組み合わせて使用することで、さらに強力なデータ前処理を行うことが可能です。以下にその例を示します。
まず、以下のようなデータフレームを考えます。
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [5, np.nan, np.nan, 8, 9],
'C': [1, 2, 3, 4, 5]
})
このデータフレームでは、’A’列の3行目と’B’列の2行目と3行目に欠損値が存在します。
次に、各列の欠損値をその列の平均値で埋めるとします。この場合、pandasのmean
メソッドとfillna
メソッドを組み合わせることで、各列の平均値で欠損値を埋めることができます。
df.fillna(df.mean())
このように、fillna
メソッドは他のpandasの機能と組み合わせて使用することで、より高度なデータ前処理を行うことが可能です。これにより、欠損値の扱い方を柔軟に制御し、データ分析の精度を向上させることができます。