パンダ: groupby オブジェクトのモードを計算する方法


次の構文を使用して、pandas の GroupBy オブジェクトのモードを計算できます。

 df. groupby ([' group_var '])[' value_var ']. agg ( pd.Series.mode )

次の例は、この構文を実際に使用する方法を示しています。

例: GroupBy オブジェクトの計算モード

さまざまなチームのバスケットボール選手が獲得したポイントを示す次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [10, 10, 12, 15, 19, 23, 20, 20, 26]})

#view DataFrame
print (df)

  team points
0 to 10
1 to 10
2 to 12
3 to 15
4 B 19
5 B 23
6 C 20
7 C 20
8 C 26

次の構文を使用して、各チームのファッション ポイント値を計算できます。

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. agg ( pd.Series.mode )

team
At 10
B [19, 23]
C 20
Name: points, dtype: object

結果を解釈する方法は次のとおりです。

  • チーム A のファッション ポイント値は10です。
  • チームBのファッションポイント値は1923です。
  • チーム C のファッション ポイント値は20です。

グループに複数のモードがある場合は、次の構文を使用して各モードを別の行に表示できます。

 #calculate mode points value for each team
df. groupby ([' team '])[' points ']. apply ( pd.Series.mode )

team   
At 0 10
B 0 19
      1 23
C 0 20
Name: points, dtype: int64

: pandas での GroupBy 操作の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandas: グループごとの累積合計を計算する方法
パンダ: グループごとに一意の値を数える方法
パンダ: グループごとの相関を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です