「Pythonで欠損値を置き換える方法(例:fillna関数の使用法)」

python

概要

fillnaは、Pythonのpandasライブラリの重要な関数の一つです。

この関数を使用することで、データフレームやシリーズの欠損値を指定した値で置き換えることができます。

これは、データの前処理や分析、可視化などにおいて非常に役立つ機能です。

以下では、具体的な例を交えながらfillnaの使い方を紹介していきます。

詳細内容

1. 欠損値を指定した値で置き換える

import pandas as pd# サンプルデータフレームの作成
df = pd.DataFrame({'A': [1, 2, 3, None, 5],
                   'B': [6, None, 8, None, 10],
                   'C': [11, 12, None, 14, 15]})# 欠損値を0で置き換える
df_filled = df.fillna(0)
print(df_filled)

このコードでは、pandasの`DataFrame`オブジェクトを使用してサンプルデータフレームを作成し、`fillna`関数を使用して欠損値を0で置き換えています。

`fillna`関数は、データフレームの欠損値を指定した値で置き換えるために使用されます。

結果は以下のようになります。

     A     B     C
0  1.0   6.0  11.0
1  2.0   0.0  12.0
2  3.0   8.0   0.0
3  0.0   0.0  14.0
4  5.0  10.0  15.0

2. 欠損値を前の値で置き換える

import pandas as pd# サンプルデータフレームの作成
df = pd.DataFrame({'A': [1, None, 3, None, 5],
                   'B': [6, None, None, None, 10],
                   'C': [None, 12, None, 14, 15]})# 欠損値を前の値で置き換える
df_filled = df.ffill()
print(df_filled)

このコードでは、`fillna`関数ではなく、`ffill`メソッドを使用して欠損値を前の値で置き換えています。

`ffill`メソッドは「forward fill」の略で、欠損値を前方の値で置き換えるために使用されます。

結果は以下のようになります。

     A    B     C
0  1.0  6.0   NaN
1  1.0  6.0  12.0
2  3.0  6.0  12.0
3  3.0  6.0  14.0
4  5.0 10.0  15.0

3. 各列の欠損値を列ごとの平均値で置き換える

import pandas as pd
import numpy as np# サンプルデータフレームの作成
df = pd.DataFrame({'A': [1, 2, None, 4, 5],
                   'B': [6, 7, None, None, 10],
                   'C': [11, 12, 13, None, 15]})# 各列の欠損値を列ごとの平均値で置き換える
df_filled = df.fillna(df.mean())
print(df_filled)

このコードでは、`fillna`関数を使用して各列の欠損値を列ごとの平均値で置き換えています。

`mean`関数を使用して各列の平均値を計算し、その結果を`fillna`関数の引数に渡しています。

結果は以下のようになります。

     A     B     C
0  1.0   6.0  11.0
1  2.0   7.0  12.0
2  3.0   7.5  13.0
3  4.0   7.5  12.75
4  5.0  10.0  15.0

以上が、fillna関数の実務レベルの使用例です。

この関数は他にもさまざまなオプションがあり、値の穴埋め方法を細かく制御することもできますが、ここでは基本的な使用例を紹介しました。

コメント

タイトルとURLをコピーしました