質問: 解決したいこと ------- pandasを用いてグループバイをし、そのグループの代表値として最頻値を求めたい。 吐かれるエラーコード ---------- ``` df.groupby('grouping_content')["最頻を求めたい対象"].mode() ``` とすると、 ``` Cannot access callable attribute 'mode' of 'SeriesGroupBy' objects, try using the 'apply' method ``` と言われてグループバイができません。 最頻を求めたい対象はカテゴリで離散値です。grouping_contentも同様に離散値です。 どのようにすれば最頻値が求まりますか? ご教示お願い申し上げます。
回答: 以下のサイトにも書かれていますが、groupbyした後にmodeで最頻値を求める場合は、value_countsやapplyを組み合わせる必要があります。英語ですが、コードの例はシンプルですぐに理解できると思いますので、参考にしてみてください。 https://github.com/pandas-dev/pandas/issues/11562 `df.groupby('grouping_content').最頻を求めたい対象.apply(lambda x: x.mode())`