パンダ: グループごとに 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: グループごとの累積合計を計算する方法
パンダ: グループごとに一意の値を数える方法
パンダ: グループごとの相関を計算する方法