CodeGym /Cours Java /Python SELF FR /Groupement des données et calcul des sommes et moyennes

Groupement des données et calcul des sommes et moyennes

Python SELF FR
Niveau 28 , Leçon 0
Disponible

1. Introduction au groupement des données

Principe du groupement des données

Dans la vie de tous les jours, on regroupe souvent des objets selon certains critères : les livres avec les livres, les légumes avec les légumes, les gens avec les gens (tu vois l’idée). En programmation, ça fonctionne pareil. Le groupement permet de diviser un gros volume de données en petites parties plus gérables afin de les analyser ensuite.

En pandas, on utilise la méthode groupby, qui permet de diviser les données en groupes et d’appliquer différentes opérations à chacun d’eux. Par exemple, tu peux regrouper les ventes par département d’un magasin et calculer le revenu total pour chaque département.

Voici un exemple de ce que ça peut donner :

Python

import pandas as pd

# On crée un DataFrame avec des données de ventes
data = {'Département': ['Produits', 'Tech', 'Produits', 'Livres', 'Tech'],
        'Revenu': [100, 200, 150, 50, 300]}

df = pd.DataFrame(data)

# On regroupe les données par département et calcule le revenu total
groupe = df.groupby('Département')['Revenu'].sum()
print(groupe)

Exemples d’utilisation du groupement

Le groupement est super utile quand tu veux comparer des données entre différentes catégories. Par exemple, si tu bosses en RH et que tu veux connaître le salaire moyen dans chaque département de ta boîte, ou si tu es marketeur et que tu veux savoir quel mois a enregistré le plus de ventes pour chaque produit. Ces tâches deviennent beaucoup plus simples grâce aux fonctionnalités de groupement dans pandas.

2. Calcul des fonctions d’agrégation

Introduction aux fonctions d’agrégation

Les fonctions d’agrégation, ce sont des fonctions spéciales appliquées à un groupe de données et qui renvoient une seule valeur. Les plus courantes sont sum (somme), mean (moyenne), et count (nombre d’éléments). Elles permettent de résumer un gros volume d’informations en métriques plus simples et compréhensibles.

Utilisation des fonctions d’agrégation

On a déjà vu comment calculer une somme dans l’exemple précédent. Maintenant, voyons comment calculer la moyenne et le nombre de ventes dans chaque département.

Python

# On calcule le revenu moyen par département
moyenne = df.groupby('Département')['Revenu'].mean()
print(moyenne)

# On compte le nombre de ventes pour chaque département
nombre = df.groupby('Département')['Revenu'].count()
print(nombre)

Exemples de calculs d’agrégats

Imaginons que tu as des données sur la fréquentation de ton site web, et tu veux savoir combien de personnes, en moyenne, visitent le site chaque jour de la semaine. C’est une tâche classique qui combine groupement et usage de la fonction mean.

Python

data = {'Jour': ['Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Mer', 'Mar'],
        'Visites': [120, 150, 170, 160, 180, 300, 220]}

df = pd.DataFrame(data)

# On calcule la moyenne des visites par jour
moy_visites = df.groupby('Jour')['Visites'].mean()
print(moy_visites)

3. Travail pratique

Exercice de groupement et de calculs d’agrégats

Imagine que tu as un tableau contenant des données de vente. Ton objectif : les regrouper par catégories et calculer les ventes totales, le coût moyen par commande et le nombre de commandes dans chaque catégorie. Ça pourra t’aider à comprendre quelles catégories de produits génèrent le plus de profits et où sont les potentielles "mines d’or".

Python

data = {
    'Catégorie': ['Électronique', 'Vêtements', 'Électronique', 'Livres', 'Livres', 'Vêtements'],
    'Montant_commande': [250, 100, 150, 200, 500, 300]
}

df = pd.DataFrame(data)

# On calcule les ventes totales par catégorie
somme = df.groupby('Catégorie')['Montant_commande'].sum()
print(somme)

# On calcule le coût moyen par commande par catégorie
cout_moyen = df.groupby('Catégorie')['Montant_commande'].mean()
print(cout_moyen)

# On compte le nombre de commandes par catégorie
nombre_commandes = df.groupby('Catégorie')['Montant_commande'].count()
print(nombre_commandes)

Discussion des résultats et analyse des données

Après avoir effectué l’exercice de groupement et de calculs d’agrégats, c’est super utile de faire une analyse des données obtenues. Par exemple, tu pourrais remarquer que la catégorie "Livres" a le montant total des commandes le plus élevé grâce à une commande importante. Ou que "Vêtements" a le plus grand nombre de commandes, mais que le coût moyen par commande est inférieur à celui de "Électronique".

Une telle analyse peut t’aider à prendre des décisions stratégiques, comme te concentrer sur l’augmentation de la taille moyenne des commandes dans la catégorie qui a le plus grand nombre de ventes mais un coût moyen plus bas.

4. Erreurs et particularités

Quand tu bosses sur le groupement, une des erreurs les plus fréquentes est d’oublier les parenthèses lors de l’utilisation des fonctions d’agrégats. Par exemple, écrire df.groupby('Catégorie').sum() à la place de df.groupby('Catégorie')['Montant_commande'].sum(). Parfois, tu peux aussi avoir des soucis avec les données manquantes. Pandas propose des méthodes pratiques comme fillna() pour remplacer les valeurs manquantes et éviter les distorsions dans les calculs.

En plus, fais gaffe à ce que les types de données soient corrects. Parfois, des colonnes numériques peuvent être interprétées comme des chaînes, ce qui peut causer des erreurs lors des calculs d’agrégats.

Si tu veux aller plus loin avec pandas et ses méthodes de groupement, consulte la documentation officielle de pandas pour approfondir et voir plus d’exemples.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION