single
Fortgeschrittene Gruppierung
Swipe um das Menü anzuzeigen
Erweiterung des Wissens zur .groupby()-Methode. Wie bereits bekannt, kann die .agg()-Methode verwendet werden. Der Hauptvorteil dieser Funktion liegt in ihrer Flexibilität: Sie ermöglicht es, mehrere, unterschiedliche Aggregationen auf mehrere Spalten gleichzeitig anzuwenden und liefert eine übersichtliche Zusammenfassungstabelle.
Im folgenden Beispiel wurden Flüge nach 'Airline' gruppiert. Anschließend wurde mit .agg() die Gesamtanzahl der Flüge (über die Spalte 'Delay') gezählt und gleichzeitig die kürzeste sowie die längste Flugdauer (über die Spalte 'Length') ermittelt. Sehr praktisch, oder?
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Erläuterung:
.agg({'Delay': 'count', 'Length': ['min', 'max']})
.agg(): Abkürzung für "aggregate". Diese Methode fasst die gruppierten Daten anhand der angegebenen Regeln zu zusammengefassten Statistiken zusammen.{}: Ein Python-Dictionary wird verwendet, um bestimmte Spalten bestimmten Operationen zuzuordnen. Die Schlüssel sind die gewünschten Spaltennamen, die Werte die anzuwendenden Funktionen.'Delay': 'count': Weist pandas an, die Zählfunktion auf die Spalte'Delay'für jede Gruppe anzuwenden. Es wird der String-Alias'count'verwendet, anstattcount()zu schreiben. Pandas erkennt diese Standardnamen für gängige Statistiken.'Length': ['min', 'max']: Um mehr als eine Funktion auf eine einzelne Spalte anzuwenden, müssen die Funktionsnamen in eine Liste[]gesetzt werden. Hier werden sowohl der Minimal- als auch der Maximalwert für die Spalte'Length'berechnet.
Da mehrere Funktionen angewendet wurden, erstellt das resultierende DataFrame automatisch hierarchische (MultiIndex-)Spalten. Length erscheint auf der obersten Ebene, darunter sind min und max übersichtlich angeordnet.
Wischen, um mit dem Codieren zu beginnen
Ihre Aufgabe ist es, tiefer einzutauchen und die durchschnittlichen sowie maximalen Verspätungszeiten in Abhängigkeit vom Startflughafen und anschließend vom Zielflughafen zu betrachten. Untersuchen Sie außerdem die mittlere Flugdauer. Befolgen Sie den folgenden Algorithmus:
Daten gruppieren:
- Wenden Sie die Methode
.groupby()auf den Datensatzdataan; - Geben Sie innerhalb der
.groupby()-Methode die Spalten'AirportFrom'und'AirportTo'an; die Reihenfolge ist entscheidend; - Berechnen Sie mit der Methode
.agg()die aggregierten Werte: den Durchschnitts- und Maximalwert in der Spalte'Time'sowie den Medianwert der Spalte'Length'.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen