こんにちは、しらすです。
26日目です。本日の習得スキルは「欠損値を前後の値の平均値で補完する」です!
欠損値を前後の値の平均値で補完するでできること
数値列の欠損値を、前後の値から平均値で補完することができます。これにより、時系列データを簡単に扱うことができると期待できます。
使い方
import pandas as pd
df = pd.DataFrame({'col1': [0, pd.np.nan, pd.np.nan, 3, 4],
'col2': [pd.np.nan, 1, 2, pd.np.nan, pd.np.nan],
'col3': [4, pd.np.nan, pd.np.nan, 9, 10]})
#欠損部分を補完する interpolate
result = df.interpolate().rount(1)
結果
上記のように、欠損値を前後の値から平均して補完することができました。値に囲われていない部分(col2の0番目)はNaNのまま、後ろの欠損値(col2の3,4番目)は最後の値(col2の2番目)を使って埋められています。
おためし編
axisを指定することで、行方向に平均をとって補完することができます。(デフォルトではaxis = 0となっています。そのため列方向で補完が実行されます)
result1 = df.interpolate(axis=1).round(1)
参考
pandasで欠損値NaNを前後の値から補間するinterpolate | note.nkmk.me
pandas.DataFrame, pandas.Seriesの欠損値NaNを前後の値から補間するにはinterpolate()メソッドを使う。 pandas.DataFrame.interpolate — pandas 2.0.3 documentation pandas.Series.interpolate — p...
コメント