Pandasで欠損値を代入する方法(例を含む)


次の基本構文を使用して、pandas DataFrame の欠損値を代入できます。

 df[' column_name '] = df[' column_name ']. interpolate ()

次の例は、この構文を実際に使用する方法を示しています。

例: Pandas の欠損値を補間する

連続 15 日間の店舗の総売上高を示す次のパンダ データフレームがあるとします。

 import pandas as pd
import numpy as np

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
                   ' sales ': [3, 6, 8, 10, 14, 17, 20, np.nan, np.nan, np.nan,
                             np.nan, 35, 39, 44, 49]})

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 NaN
8 9 NaN
9 10 NaN
10 11 NaN
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

データ フレームには 4 日間の売上高が欠落していることに注意してください。

売上を時間の経過とともに視覚化する単純な折れ線グラフを作成すると、次のようになります。

 #create line chart to visualize sales
df[' sales ']. plot ()

パンダで欠損値を代入する

欠損値を埋めるには、次のようにinterpolate()関数を使用できます。

 #interpolate missing values in 'sales' column
df[' sales '] = df[' sales ']. interpolate ()

#view DataFrame
print (df)

    day sales
0 1 3.0
1 2 6.0
2 3 8.0
3 4 10.0
4 5 14.0
5 6 17.0
6 7 20.0
7 8 23.0
8 9 26.0
9 10 29.0
10 11 32.0
11 12 35.0
12 13 39.0
13 14 44.0
14 15 49.0

欠落している値がそれぞれ置き換えられていることに注意してください。

更新されたデータ フレームを視覚化するために別の折れ線グラフを作成すると、次のようになります。

 #create line chart to visualize sales
df[' sales ']. plot ()

interpolate()関数によって選択された値は、データの傾向と非常によく一致しているように見えることに注意してください。

: interpolate()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで欠損値を処理する方法に関する追加情報を提供します。

パンダで欠損値を数える方法
PandasでNaN値を文字列に置き換える方法
PandasでNaN値をゼロに置き換える方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です