パンダ: グループごとに description() を使用する方法


description()関数を使用すると、pandas DataFrame 内の変数の記述統計を生成できます。

次の基本構文を使用して、pandas の groupby( ) 関数とともに description ()関数を使用できます。

 df. groupby (' group_var ')[' values_var ']. describe ()

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

例: Pandas でグループごとに description() を使用する

2 つの異なるチームのバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [8, 12, 14, 14, 15, 22, 27, 24],
                   ' assists ':[2, 2, 3, 5, 7, 6, 8, 12]})

#view DataFrame
print (df)

  team points assists
0 to 8 2
1 to 12 2
2 to 14 3
3 to 14 5
4 B 15 7
5 B 22 6
6 B 27 8
7 B 24 12

description()関数とgroupby()関数を使用して、各チームポイント列の値を要約できます。

 #summarize points by team
df. groupby (' team ')[' points ']. describe ()

count mean std min 25% 50% 75% max
team								
A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

結果から、各チームのポイント変数の次の値がわかります。

  • count (観測値の数)
  • 平均(平均ポイント値)
  • std (ポイント値の標準偏差)
  • min (最小ポイント値)
  • 25 % (ポイントの 25 パーセンタイル)
  • 50 % (ポイントの 50 パーセンタイル (つまり中央値))
  • 75 % (ポイントの 75 パーセンタイル)
  • max (最大ポイント値)

結果を DataFrame 形式で表示したい場合は、 reset_index()引数を使用できます。

 #summarize points by team
df. groupby (' team ')[' points ']. describe (). reset_index ()

        team count mean std min 25% 50% 75% max
0 A 4.0 12.0 2.828427 8.0 11.00 13.0 14.00 14.0
1 B 4.0 22.0 5.099020 15.0 20.25 23.0 24.75 27.0

チーム変数は DataFrame の列になり、インデックス値は 0 と 1 になります。

追加リソース

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

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

コメントを追加する

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