Pandas:groupby 関数で列の名前を変更する方法


次の基本構文を使用して、pandas のgroupby()関数の列の名前を変更できます。

 df. groupby (' group_col '). agg (sum_col1=(' col1 ', ' sum '),
                            mean_col2=(' col2 ', ' mean '),
                            max_col3=(' col3 ', ' max '))

この特定の例では、3 つの集計列を計算し、 sum_col1Mean_col2 、およびmax_col3という名前を付けます。

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

例: Pandas の Groupby 関数の列の名前を変更する

次のパンダ データフレームがあるとします。

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 6, 6, 5, 8, 7, 7, 9],
                   ' rebounds ': [4, 13, 15, 10, 7, 7, 5, 11]})

#view DataFrame
print (df)

  team points assists rebounds
0 to 30 5 4
1 to 22 6 13
2 A 19 6 15
3 A 14 5 10
4 B 14 8 7
5 B 11 7 7
6 B 20 7 5
7 B 28 9 11

次の構文を使用して行をチーム列ごとにグループ化し、集計列に特定の名前を指定しながら 3 つの集計列を計算できます。

 #calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', ' sum '),
                       mean_assists=(' assists ', ' mean '),
                       max_rebounds=(' rebounds ', ' max '))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

3 つの集計列には、 agg()関数で指定したカスタム名が付いていることに注意してください。

また、必要に応じて、NumPy 関数を使用してagg()関数の合計値、平均値、最大値を計算できることにも注意してください。

 import numpy as np

#calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', np. sum ),
                       mean_assists=(' assists ', np. mean ),
                       max_rebounds=(' rebounds ', np. max ))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

これらの結果は、前の例の結果に対応します。

追加リソース

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

Pandas ですべての列名をリストする方法
Pandas で列を名前で並べ替える方法
Pandasで重複した列を削除する方法

コメントを追加する

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