日々精進

新しく学んだことを書き留めていきます

pandasのtransformメソッドで「ValueError: Length mismatch」エラー

欠損値の補完をする際にグループ毎に平均値を計算し、その値で補完したいという場合。以下のコードを実行すると「ValueError: Length mismatch」エラーがでた。

f = lambda x: x.fillna(x.mean())
df['Age'] = df.groupby('Group')['Age'].transform(f)

原因はAge列にNaNが入っている行があったため。 そこを値で補完してやると直った。