single
Gruppierung nach mehreren Spalten
Swipe um das Menü anzuzeigen
Zusätzliche Informationen zur Methode .groupby(). Gruppierungen können nach mehreren Spalten erfolgen, wobei die Reihenfolge hierbei entscheidend ist. Im vorherigen Kapitel wurden die Daten nach der Flugnummer gruppiert und die Anzahl der Verspätungen gezählt. Diese Aufgabe lässt sich erweitern, indem nicht nur nach der Spalte 'Flight', sondern auch nach der Spalte 'Airline' gruppiert wird. Überprüfen Sie die Informationen zum Datensatz und betrachten Sie dann dieses einfache Beispiel (die Ausgabe enthält nur die ersten 10 Zeilen):
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
Erläuterung:
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]– Spalten, mit denen gearbeitet wird, einschließlich der Spalten, nach denen gruppiert wird;.groupby(['Flight', 'Airline'])– hier sind'Flight'und'Airline'die Argumente der Funktion.groupby().
Beachten Sie: Wenn nach mehreren Spalten gruppiert werden soll, müssen diese in eine Liste gesetzt werden – die Reihenfolge ist entscheidend. In diesem Fall werden Zeilen mit demselben Wert in der Spalte 'Flight' zu einer Gruppe zusammengefasst. Innerhalb dieser Gruppen sucht die Funktion dann nach weiteren Gruppen für Zeilen mit demselben Wert in der Spalte 'Airline'. Durch die Methode .count(), die die Zeilen zählt, berechnet die Funktion die Anzahl der Zeilen in der Spalte 'Delay', die für jede 'Airline'-Gruppe denselben Wert in der Spalte 'Flight' aufweisen.
Wischen, um mit dem Codieren zu beginnen
Ihre Aufgabe besteht darin, die Daten nach dem Flughafen, von dem der Flug gestartet ist, und anschließend nach dem Wochentag zu gruppieren. Berechnen Sie den Durchschnittswert der Zeit für die jeweiligen Gruppen. Befolgen Sie den folgenden Algorithmus, um die Aufgabe zu bearbeiten:
- Gruppieren der Daten:
- Extrahieren Sie die Spalten
'AirportFrom','DayOfWeek'und'Time'ausdata(in dieser Reihenfolge); - Wenden Sie die Methode
.groupby()auf die zuvor extrahierten Spalten an; - Geben Sie innerhalb der
.groupby()-Methode die Spalten'AirportFrom'und'DayOfWeek'an; die Reihenfolge ist entscheidend; - Berechnen Sie den Mittelwert der Spalte
'Time'.
- Extrahieren Sie die Spalten
- Geben Sie die ersten
10Zeilen vondata_flightsaus.
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