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()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで欠損値を処理する方法に関する追加情報を提供します。