Pandas : Comment renommer des colonnes dans la fonction Groupby
Vous pouvez utiliser la syntaxe de base suivante pour renommer les colonnes dans une fonction groupby() dans pandas :
df.groupby('group_col').agg(sum_col1=('col1', 'sum'), mean_col2=('col2', 'mean'), max_col3=('col3', 'max'))
Cet exemple particulier calcule trois colonnes agrégées et les nomme sum_col1 , Mean_col2 et max_col3 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Renommer les colonnes dans la fonction Groupby dans Pandas
Supposons que nous ayons le DataFrame pandas suivant :
import pandas as pd #create DataFrame 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 A 30 5 4 1 A 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
Nous pouvons utiliser la syntaxe suivante pour regrouper les lignes par colonne d’ équipe , puis calculer trois colonnes agrégées tout en fournissant des noms spécifiques aux colonnes agrégées :
#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
Notez que les trois colonnes agrégées portent les noms personnalisés que nous avons fournis dans la fonction agg() .
Notez également que nous pourrions utiliser les fonctions NumPy pour calculer les valeurs somme, moyenne et maximale dans la fonction agg() si nous le souhaitons.
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
Ces résultats correspondent à ceux de l’exemple précédent.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :
Comment répertorier tous les noms de colonnes dans Pandas
Comment trier les colonnes par nom dans Pandas
Comment supprimer les colonnes en double dans Pandas