【毎日Python】Pythonでデータフレームの行・列の最頻値を取得する方法|DataFrame.mode

mode
こつこつPython
import pandas as pd
df = pd.DataFrame({'A店': ['apple', 'banana', 'apple', 'apple', 'banana'],
                   'B店': ['banana', 'apple', 'strawberry', 'apple', 'banana'],
                   'C店': ['apple', 'apple', 'banana', 'apple', 'banana']},
                  index = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'])
df

Pythonでデータフレームから最頻値を取得する方法です。
使用するのは、PythonのPandasライブラリのmodeメソッドです。
最頻値とは、データの中で最も登場回数の多い値のことを指します。
シリーズでも実行できますが、今回はこのようなデータフレームを用意します。

df.mode()

デフォルトでは列ごとの最頻値が取得できます。
実行します。
店ごとの最頻値が取得できました。
最頻値が二つある列は二つ表示され、他の列はNaNと表示されます。

df.mode().count()

次に、最頻値の個数を取得してみましょう。
個数を確認するにはcountメソッドを使用します。
実行します。
店ごとの最頻値の個数をシリーズで取得できました。

df.mode(axis=1)

次に、行ごとの最頻値を取得してみましょう。
行の場合は、引数にaxis=1と指定します。
実行します。
曜日ごとの最頻値を取得できました。

df.mode(axis=1).count(axis=1)

最後に、行ごとの最頻値の個数を取得してみましょう。
modeとcount両方の引数にaxis=1を指定して実行します。
曜日ごとの最頻値の個数をシリーズで取得できました。

df.mode(axis=1).count(axis=1).tolist()

関連メソッド

【毎日Python】Pythonでデータフレームの要素の個数を取得する方法|count

【毎日Python】Pythonでデータフレームのユニークな個数を取得する方法|nunique

【毎日Python】Pythonでデータフレームの行列の平均を計算する方法|DataFrame.mean

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト