Menu
CoddyTech

Daten gruppieren

Teil des Abschnitts Daten und Diagramme der Machine Learning-Journey von Coddy. Lektion 43 von 60.

Welche Stadt verkauft mehr? Ein einziger Durchschnitt über alle Zeilen kann das nicht sagen. Teile die Zeilen in Gruppen auf, eine pro Stadt, und bilde dann für jede Gruppe den Durchschnitt:

Sechs Ladenzeilen, nach Städten in drei Gruppen aufgeteilt: Lyon, Nice und Paris; anschließend wurde für jede Gruppe der Durchschnitt berechnet: Lyon 23.0, Nice 18.0, Paris 38.0

Eine Zeile erledigt beides:

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)

Dies gibt aus:

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

groupby("city") bildet die Gruppen, ["sales"] wählt die Spalte aus, .mean() berechnet den Durchschnitt jeder Gruppe. .sum(), .min() und .max() funktionieren ebenfalls.

Um die Stapel zu ordnen, sortiere sie: means.sort_values(ascending=False).index[0] ist Paris, der Bestseller.

challenge icon

Aufgabe

Mittel

Ein Laufverein protokolliert jeden Lauf in runs.csv: runner, distance_km, minutes und climb_m. Das Starterprogramm liest eine der Zahlenspalten in column ein.

  1. Gib den Mittelwert dieser Spalte für jeden Läufer aus.
  2. Nenne dann den Läufer mit dem höchsten Mittelwert, wie in der letzten Zeile unten.

Für einen Verein mit zwei Läufern und distance_km:

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

Probier es selbst

import pandas as pd

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

# Schreibe deinen Code unten
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Daten und Diagramme

Übe selbstständig: Online-Python-Compiler