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

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

  • 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

Pandas : Un manuel complet pour les Data Lovers

  • 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

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

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

Maîtriser Seaborn : Démystifier les diagrammes complexes

  • 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

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

  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés

Machine Learning : Explorer ses nombreuses formes

  • 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

Il est impossible d’obtenir des informations significatives sans une agrégation correcte des données, n’est-ce pas ? En fait, c’est la raison pour laquelle nous utilisons beaucoup les tableaux croisés dynamiques dans Excel. On peut donc dire qu’il s’agit d’une étape essentielle de l’analyse de données, qui consiste souvent à appliquer des fonctions d’agrégation telles que la somme, la moyenne, le décompte, etc. à des groupes de données.

Regroupement des données #

  • groupby avec une seule colonne : Cette méthode te permet de regrouper des données sur la base d’une ou plusieurs colonnes. Tu peux la considérer comme une version puissante de l’instruction GROUP BY de SQL.

    Ensuite, tu peux utiliser les données groupées et choisir la colonne entre laquelle vous souhaitez comparer ces données groupées, puis sélectionner la fonction d’agrégation (mean, sum, max, min, etc.).

    Lorsque tu appliques une fonction d’agrégation à des données groupées sans spécifier de colonne, elle sera appliquée à toutes les colonnes numériques du DataFrame.

Par exemple, supposons que tu aies des données sur les ventes et que tu souhaites les regrouper par la colonne “Category” et calculer le total des ventes pour chaque catégorie.

import pandas as pd

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

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

# Choisir la colonne des ventes pour comparer avec les données groupées et utiliser la fonction sum
# Cela donne le total des ventes pour chaque catégorie.
total_sales = grouped_data['Sales'].sum()

print(total_sales)
--------------------------------------------------------------------------
output:

Category
Clothing        1000
Electronics     1800
Name: Sales, dtype: int64
  • groupby avec plusieurs colonnes : Tu peux également effectuer des regroupements sur plusieurs colonnes en passant une liste de colonnes par lesquelles tu souhaites effectuer des regroupements.

Par exemple, supposons que tu disposes d’un ensemble de données contenant des informations sur les étudiants, notamment leurs notes dans différentes matières, et que tu souhaites regrouper les données en fonction des colonnes “Class” et “Gender”, puis calculer des statistiques telles que la moyenne, le minimum et le maximum pour les notes obtenues dans la matière mathématique.

import pandas as pd

# Exemple de DataFrame
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]}
df = pd.DataFrame(data)

# Groupement par 'Class' et 'Gender' et calcul de statistiques
grouped_data = df.groupby(['Class', 'Gender'])

# Calculer la moyenne pour Math_score
agg_results = grouped_data['Math_Score'].mean()

print(agg_results)
--------------------------------------------------------------------
output:

             Math_Score
Class Gender                                         
A     Female   86.000000  
      Male     87.500000 
B     Female   87.000000 
      Male     92.000000 
  • Appliquer la fonction d’agrégation à des données groupées sans spécifier de colonne :
    Dans ce cas, la fonction sera appliquée à toutes les colonnes numériques du DataFrame groupé.
import pandas as pd

# Exemple de DataFrame
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]}
df = pd.DataFrame(data)

# Groupement par 'Class' et 'Gender'
grouped_data = df.groupby(['Class', 'Gender'])

# Application de la fonction d'agrégation moyenne à toutes les colonnes numériques
aggregated_data = grouped_data.mean()

print(aggregated_data)
----------------------------------------------------------------------
output:

              Math_Score  English_Score
Class Gender                          
A     Female   82.000000      84.000000
      Male     87.500000      90.000000
B     Female   87.500000      90.000000
      Male     92.000000      94.000000

Fonctions d’agrégation #

Les fonctions d’agrégation sont essentielles pour résumer les données au sein des groupes. Les fonctions d’agrégation courantes sont sum(), max(), min(), mean(), median(), count(), agg() – ceci te permet d’appliquer des fonctions d’agrégation personnalisées.

Par exemple, si tu souhaites appliquer plusieurs fonctions d’agrégation (mean, min et max) en une seule fois pour la note de mathématiques, tu dois vérifier ces fonctions d’agrégation. Tu souhaites également vérifier ces multiples fonctions d’agrégation pour deux matières (en particulier quelques colonnes).

import pandas as pd

# Exemple de DataFrame
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)

# Groupement par 'Class' et 'Gender' et calcul de statistiques
grouped_data = df.groupby(['Class', 'Gender'])

# Calculer la moyenne, le minimum et le maximum pour Math_score
agg_results = grouped_data.Math_Score.agg(['mean', 'min', 'max'])

print(agg_results)

# Application de fonctions d'agrégation à 'Math_Score' eet 'Physics_Score'
aggregated_data = grouped_data.agg({
    'Math_Score': ['mean', 'min', 'max'],
    'Physics_Score': ['mean', 'min', 'max']
})

print(aggregated_data)
----------------------------------------------------------------------
output:

              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
-----------------------------------------------------------------------

                   Math_Score         Physics_Score         
                   mean min max          mean min max
Class Gender                                           
A     Female   82.000000  78  86     81.500000  78  85
      Male     87.500000  85  90     83.000000  78  88
B     Female   87.500000  86  89     88.000000  85  92
      Male     92.000000  92  92     91.000000  88  92

Pivot Tables et Cross-Tabulations #

Si tu as travaillé avec Excel, tu dois déjà savoir à quel point ils sont efficaces. Ils offrent un moyen structuré d’organiser et d’analyser des données sous différents angles.

  • Nous pouvons utiliser pd.pivot_table pour créer des tableaux croisés dynamiques.
  • Les tableaux croisés sont une autre méthode d’agrégation des données, en particulier lorsqu’il s’agit de variables catégorielles, à l’aide de pd.crosstab.
import pandas as pd

# Exemple de DataFrame avec des données de vente
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')

# Cross-Tabulation : Nombre de catégories par région
cross_tab = pd.crosstab(df['Category'], df['Region'])

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

print("\nCross-Tabulation:")
print(cross_tab)
----------------------------------------------------------------------
Pivot Table:
Region       North  South
Category                  
Clothing        NaN   1250
Electronics   1800     NaN

Cross-Tabulation:
Region       North  South
Category                  
Clothing        0     2
Electronics     2     0
Guide Pandas Bases
T'en as pensé quoi ?
Partager ce tuto :
  • Facebook
  • X
  • LinkedIn
Manipulation de données avec PandasVisualisations de données avec Pandas
Table des matières
  • Regroupement des données
  • Fonctions d'agrégation
  • Pivot Tables et Cross-Tabulations

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 :

© 2025 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