;
Aller au contenu
Moncoachdata
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Moncoachdata
Logo Numpy

Maîtriser NumPy : Le compagnon indispensable pour les Data Lovers

9
  • Principes de base des tableaux Numpy
  • Inspection de tableaux array de NumPy
  • Opérations sur les tableaux NumPy
  • Travailler avec des tableaux Numpy
  • NumPy pour le nettoyage de données
  • NumPy pour l’analyse statistique
  • NumPy pour l’algèbre linéaire
  • Techniques avancées pour NumPy
  • Optimisation des performances avec NumPy
Logo Pandas

Pandas : Un manuel complet pour les Data Lovers

10
  • Structures de données Pandas
  • Chargement et inspection des données dans Pandas
  • Sélection et indexation des données avec Pandas
  • Nettoyage de données avec Pandas
  • Manipulation de données avec Pandas
  • Agrégations de données avec Pandas
  • Visualisations de données avec Pandas
  • Traitement des données de séries temporelles avec Pandas
  • Traitement des données catégorielles avec Pandas
  • Pandas : Sujets avancés
Logo Matplotlib

Maîtriser Matplotlib : Un guide complet pour la visualisation de données

4
  • Tracé de base Matplotlib
  • Types de diagrammes Matplotlib
  • Multiples subplots Matplotlib
  • Matplotlib : Fonctionnalités avancées
Logo Seaborn

Maîtriser Seaborn : Démystifier les diagrammes complexes

6
  • Introduction Seaborn
  • Diagrammes catégoriels avec Seaborn
  • Diagrammes univariés avec Seaborn
  • Diagrammes bivariés avec Seaborn
  • Diagrammes multivariés avec Seaborn
  • Diagrammes matriciels avec Seaborn
Logo Plotly

Maîtriser Plotly : Laisse tes visualisations parler à travers Plotly

3
  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés
Logo Machine Learning

Machine Learning : Explorer ses nombreuses formes

5
  • Comment fonctionne le Machine Learning ?
  • Apprentissage automatique supervisé
  • Apprentissage Automatique non Supervisé
  • Apprentissage semi-supervisé
  • Apprentissage par renforcement
View Categories

Agrégations de données avec Pandas

Temps de lecture: 5 minutes

0:00 / 5:31
  • View as Markdown Open this page as plain Markdown (opens in a new tab)
  • Open in ChatGPT Ask questions about this page (opens in a new tab)
  • Open in Claude Ask questions about this page (opens in a new tab)
  • Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)
  • Open in Perplexity Ask questions about this page (opens in a new tab)
  • Open in Grok Ask questions about this page (opens in a new tab)

Sans agrégation de données avec Pandas, impossible d’obtenir des informations vraiment utiles. C’est d’ailleurs la raison pour laquelle on utilise tant les tableaux croisés dynamiques dans Excel. L’agrégation est une étape essentielle de l’analyse de données : elle consiste à appliquer des fonctions comme la somme, la moyenne ou le décompte à des groupes de données.

Regrouper les données avec groupby #

La méthode groupby() regroupe les données selon une ou plusieurs colonnes. Tu peux la voir comme une version puissante de l’instruction GROUP BY de SQL. Ensuite, tu choisis la colonne à résumer, puis la fonction d’agrégation (mean, sum, max, min…). Si tu n’indiques aucune colonne, la fonction s’applique à toutes les colonnes numériques.

groupby avec une seule colonne #

Imaginons des données de ventes que tu veux regrouper par catégorie, pour calculer le total des ventes de chacune :

import pandas as pd

data = {'Category': ['Electronics', 'Clothing', 'Electronics', 'Clothing'],
        'Sales': [1000, 500, 800, 500]}
df = pd.DataFrame(data)

# Regroupement par 'Category'
grouped_data = df.groupby('Category')

# On choisit la colonne des ventes et la fonction sum
total_sales = grouped_data['Sales'].sum()
print(total_sales)
Python
Category
Clothing       1000
Electronics    1800
Name: Sales, dtype: int64

groupby avec plusieurs colonnes #

Pour regrouper selon plusieurs colonnes, passe-les dans une liste. Ici, on regroupe des notes d’élèves par classe et par genre, puis on calcule la moyenne en mathématiques :

data = {'Class': ['A', 'B', 'A', 'B', 'A', 'B'],
        'Gender': ['Male', 'Male', 'Female', 'Female', 'Male', 'Female'],
        'Math_Score': [85, 92, 78, 89, 90, 86],
        'English_Score': [88, 94, 80, 92, 92, 88],
        'Physics_Score': [78, 90, 85, 92, 88, 84]}
df = pd.DataFrame(data)

grouped_data = df.groupby(['Class', 'Gender'])

# Moyenne des notes de mathématiques par classe et par genre
print(grouped_data['Math_Score'].mean())
Python
Class  Gender
A      Female    78.0
       Male      87.5
B      Female    87.5
       Male      92.0
Name: Math_Score, dtype: float64

Sans spécifier de colonne #

Sans indiquer de colonne, la fonction d’agrégation s’applique à toutes les colonnes numériques du DataFrame groupé :

print(grouped_data.mean())
Python
              Math_Score  English_Score  Physics_Score
Class Gender
A     Female        78.0           80.0           85.0
      Male          87.5           90.0           83.0
B     Female        87.5           90.0           88.0
      Male          92.0           94.0           90.0

Les fonctions d’agrégation #

Les fonctions d’agrégation résument les données au sein de chaque groupe. Les plus courantes sont sum(), max(), min(), mean(), median() et count(). La méthode agg() te permet en plus d’appliquer plusieurs fonctions en une seule fois, voire des fonctions personnalisées.

Par exemple, pour calculer la moyenne, le minimum et le maximum de la note de mathématiques :

agg_results = grouped_data['Math_Score'].agg(['mean', 'min', 'max'])
print(agg_results)
Python
              mean  min  max
Class Gender
A     Female  78.0   78   78
      Male    87.5   85   90
B     Female  87.5   86   89
      Male    92.0   92   92

Et pour appliquer plusieurs fonctions à plusieurs colonnes (ici les mathématiques et la physique), passe un dictionnaire à agg() :

aggregated_data = grouped_data.agg({
    'Math_Score': ['mean', 'min', 'max'],
    'Physics_Score': ['mean', 'min', 'max']
})
print(aggregated_data)
Python
             Math_Score         Physics_Score
                   mean min max          mean min max
Class Gender
A     Female       78.0  78  78          85.0  85  85
      Male         87.5  85  90          83.0  78  88
B     Female       87.5  86  89          88.0  84  92
      Male         92.0  92  92          90.0  90  90

Tableaux croisés dynamiques et tables de contingence #

Si tu as déjà utilisé Excel, tu sais à quel point les tableaux croisés dynamiques sont efficaces : ils permettent d’organiser et d’analyser les données sous différents angles.

  • Avec pd.pivot_table(), tu crées des tableaux croisés dynamiques ;
  • Avec pd.crosstab(), tu crées des tables de contingence, une autre méthode d’agrégation particulièrement adaptée aux variables catégorielles : elle compte le nombre d’occurrences pour chaque combinaison de catégories.
data = {'Category': ['Electronics', 'Clothing', 'Electronics', 'Clothing'],
        'Region': ['North', 'South', 'North', 'South'],
        'Sales': [1000, 500, 800, 750],
        'Profit': [150, 50, 120, 100]}
df = pd.DataFrame(data)

# Pivot table : somme des ventes par catégorie et par région
pivot_table = pd.pivot_table(df, index='Category', columns='Region',
                             values='Sales', aggfunc='sum')

# Crosstab : nombre de lignes pour chaque combinaison catégorie / région
cross_tab = pd.crosstab(df['Category'], df['Region'])

print("Pivot Table :")
print(pivot_table)

print("\nCross-Tabulation :")
print(cross_tab)
Python
Pivot Table :
Region        North   South
Category
Clothing        NaN  1250.0
Electronics  1800.0     NaN

Cross-Tabulation :
Region       North  South
Category
Clothing         0      2
Electronics      2      0

Tu sais maintenant regrouper et résumer un jeu de données. La suite de la série porte sur la visualisation de données avec Pandas. Pour aller plus loin sur groupby, consulte la documentation officielle de Pandas.

Pour aller plus loin, consulte aussi notre guide des 10 astuces Pandas en Python.

groupby prend tout son sens quand les données sont imparfaites. Dans le cours Nettoyage de données, tu l’utilises avec merge et melt sur des projets réels.

Guide Pandas Bases

Partager ce tuto :

  • Facebook
  • X
  • LinkedIn
Manipulation de données avec PandasVisualisations de données avec Pandas
Table des matières
  • Regrouper les données avec groupby
    • groupby avec une seule colonne
    • groupby avec plusieurs colonnes
    • Sans spécifier de colonne
  • Les fonctions d'agrégation
  • Tableaux croisés dynamiques et tables de contingence

Apprentissage

  • Cours accéléré NumPy
  • Nos programmes Data
  • TOP 50 fonctions NumPy
  • MasterClass DS & ML
  • MasterClass Deep Learning
  • Mon Shot de Data Science
  • Tutoriels Data Science

Le site

  • Articles
  • Coaching
  • Communauté
  • Newsletter
  • Connexion

À propos

  • CGV
  • Contact
Payment Options
Reçois chaque semaine mes meilleures pratiques en Data Science :

© 2026 MonCoachData - Data Science & Machine Learning

YouTube Discord GitHub Linkedin RSS
Défiler vers le haut
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Discord DiscordYouTube YouTube
Rechercher