fillna関数の基本的な使用法
Pandasの fillna()
関数は、データフレーム内の欠損値(NaN)を埋めるための便利な方法です。基本的な使用法は以下の通りです。
df.fillna(value)
ここで、df
は対象のデータフレームで、value
は欠損値を置き換える値です。
例えば、以下のようなデータフレームがあるとします。
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
このデータフレームの欠損値を0で埋めるには、以下のように fillna()
関数を使用します。
df.fillna(0)
出力:
A B C
0 1.0 5.0 1
1 2.0 0.0 2
2 0.0 0.0 3
このように、fillna()
関数はデータフレームの欠損値を簡単に扱うことができます。次のセクションでは、特定の列で fillna()
を使用する方法について説明します。
特定の列でfillnaを使用する方法
Pandasの fillna()
関数は、特定の列に対しても適用することができます。これは、特定の列に対して欠損値を別の値で埋めたい場合に便利です。以下にその使用法を示します。
df['column_name'].fillna(value)
ここで、df
は対象のデータフレームで、column_name
は欠損値を置き換えたい列の名前、value
は欠損値を置き換える値です。
例えば、先ほどのデータフレームに対して、列 ‘B’ の欠損値を0で埋めるには、以下のように fillna()
関数を使用します。
df['B'].fillna(0)
出力:
0 5.0
1 0.0
2 0.0
Name: B, dtype: float64
このように、fillna()
関数を特定の列に対して適用することで、その列の欠損値だけを簡単に扱うことができます。次のセクションでは、複数の列で fillna()
を使用する方法について説明します。
複数の列でfillnaを使用する方法
Pandasの fillna()
関数は、複数の列に対しても適用することができます。これは、特定の列ごとに異なる値で欠損値を埋めたい場合に便利です。以下にその使用法を示します。
df.fillna({'column_name1': value1, 'column_name2': value2})
ここで、df
は対象のデータフレームで、column_name1
と column_name2
は欠損値を置き換えたい列の名前、value1
と value2
はそれぞれの列の欠損値を置き換える値です。
例えば、先ほどのデータフレームに対して、列 ‘A’ の欠損値を0で、列 ‘B’ の欠損値を1で埋めるには、以下のように fillna()
関数を使用します。
df.fillna({'A': 0, 'B': 1})
出力:
A B C
0 1.0 5.0 1
1 2.0 1.0 2
2 0.0 1.0 3
このように、fillna()
関数を複数の列に対して適用することで、それぞれの列の欠損値を簡単に扱うことができます。次のセクションでは、fillna()
の使用時の注意点について説明します。
注意点とその他のリソース
Pandasの fillna()
関数を使用する際のいくつかの注意点を以下に示します。
- 元のデータフレームは変更されません:
fillna()
関数は新しいデータフレームを返しますが、元のデータフレームは変更されません。元のデータフレームを直接変更するには、inplace=True
パラメータを使用します。
df.fillna(value, inplace=True)
-
欠損値の種類:Pandasでは、通常、欠損値は
NaN
として表されます。しかし、データによってはNone
や他の値で表されることもあります。そのため、欠損値の扱い方を理解することが重要です。 -
列のデータ型:
fillna()
関数で欠損値を埋める値は、その列のデータ型と一致する必要があります。例えば、数値列に対して文字列を使用して欠損値を埋めることはできません。
以上が fillna()
関数の基本的な使用法と注意点です。より詳細な情報やその他の関数については、Pandas公式ドキュメンテーションを参照してください。