[備忘録]pandas mode()で最頻値を抽出する


いつもforループを使って処理していて
処理に1時間とかかかっていたので。

使い方

サンプルデータとして
kaggle-House Prices


features['MSZoning'] = features.groupby('MSSubClass')['MSZoning'].transform(lambda x: x.fillna(x.mode()[0]))

これで 'MSSubClass'のグループ毎に'MSZoning'の最頻値を欠損値に代入できる。

x.mode()[0]
>>>最頻値そのものの値を取得

以上

まとめ

初めての記事投稿。
間違っている部分やアドバイス等ご指摘いただけると助かります。