Menu
CoddyTech

Regrouper les données

Fait partie de la section Données et visualisations du Journey Machine Learning de Coddy. Leçon 43 sur 60.

Quelle ville vend le plus ? Une seule moyenne calculée sur toutes les lignes ne permet pas de le savoir. Répartis les lignes en groupes, un par ville, puis calcule la moyenne de chaque groupe :

Six lignes de magasins réparties en trois groupes par ville, Lyon, Nice et Paris, puis la moyenne de chaque groupe : Lyon 23.0, Nice 18.0, Paris 38.0

Une ligne fait les deux :

shops = pd.DataFrame({
    "city": ["Lyon", "Paris", "Lyon", "Nice", "Paris", "Lyon"],
    "sales": [20, 35, 26, 18, 41, 23],
})
means = shops.groupby("city")["sales"].mean()
print(means)

Cela affiche :

city
Lyon     23.0
Nice     18.0
Paris    38.0
Name: sales, dtype: float64

groupby("city") crée les groupes, ["sales"] sélectionne la colonne, .mean() calcule la moyenne de chaque groupe. .sum(), .min() et .max() fonctionnent aussi.

Pour classer les piles, triez-les : means.sort_values(ascending=False).index[0] est Paris, la meilleure vente.

challenge icon

Défi

Moyen

Un club de course à pied consigne chaque course dans runs.csv : runner, distance_km, minutes et climb_m. Le code de départ lit une des colonnes numériques dans column.

  1. Affiche la moyenne de cette colonne pour chaque coureur.
  2. Puis indique le coureur dont la moyenne est la plus élevée, comme dans la dernière ligne ci-dessous.

Pour un club de deux coureurs et distance_km :

runner
Ana    6.1
Bo     8.4
Name: distance_km, dtype: float64
Top runner: Bo with 8.4

Essayez vous-même

import pandas as pd

runs = pd.read_csv("runs.csv")
column = input()

# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Données et visualisations

Entraînez-vous par vous-même : Compilateur Python en ligne