Kursinhalt
Fortgeschrittene Techniken in Pandas
Fortgeschrittene Techniken in Pandas
Gruppierung Nach Mehreren Spalten
Lassen Sie uns einige Informationen zur Methode .groupby()
hinzufügen. Sie können nach mehreren Spalten gruppieren, aber die Reihenfolge ist in diesem Fall entscheidend. Im vorherigen Kapitel haben wir Daten nach der Flugnummer gruppiert und die Anzahl der Verspätungen gezählt. Wir können diese Aufgabe komplizierter machen, indem wir nicht nur nach der Spalte 'Flight'
, sondern auch nach der Spalte 'Airline'
gruppieren. Aktualisieren Sie die Informationen zum Datensatz und sehen Sie sich dann dieses einfache Beispiel an (die Ausgabe enthält nur die ersten 10 Zeilen):
import 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))
Erklärung:
data[['Flight', 'Delay', 'Airline']]
- Spalten, mit denen Sie arbeiten werden, einschließlich der Spalten, nach denen Sie gruppieren werden;.groupby(['Flight', 'Airline'])
- hier sind'Flight'
und'Airline'
Argumente der Funktion.groupby()
.
Achten Sie darauf, wenn Sie nach mehreren Spalten gruppieren möchten, setzen Sie diese in die Liste - die Reihenfolge ist entscheidend. In unserem Fall, wenn Zeilen des Datensatzes denselben Wert in der Spalte 'Flight'
haben, gehören sie zu einer Gruppe. Dann findet die Funktion innerhalb dieser Gruppen andere Gruppen für Zeilen mit demselben Wert in der Spalte 'Airline'
. Dann, aufgrund der Methode .count()
, die die Zeilen zählt, wird unsere Funktion die Anzahl der Zeilen in der Spalte 'Delay'
berechnen, die denselben Wert in der Spalte 'Airline'
für jede 'Flight'
-Gruppe haben.
Swipe to start coding
Ihre Aufgabe besteht darin, Daten nach dem Flughafen, von dem der Flug gestartet ist, und dann nach dem Wochentag zu gruppieren. Berechnen Sie die durchschnittliche Zeit für die Gruppen. Befolgen Sie den Algorithmus, um die Aufgabe zu bewältigen:
- Daten gruppieren:
- Extrahieren Sie die Spalten
'AirportFrom'
,'DayOfWeek'
und'Time'
ausdata
(in dieser Reihenfolge); - Wenden Sie die Methode
.groupby()
auf die vorherigen Spalten an; - Setzen Sie innerhalb der Methode
.groupby()
die Spalten'AirportFrom'
und'DayOfWeek'
; die Reihenfolge ist entscheidend; - Berechnen Sie den Mittelwert der Spalte
'Time'
.
- Extrahieren Sie die Spalten
- Geben Sie die ersten
10
Zeilen vondata_flights
aus.
Lösung
Danke für Ihr Feedback!
Gruppierung Nach Mehreren Spalten
Lassen Sie uns einige Informationen zur Methode .groupby()
hinzufügen. Sie können nach mehreren Spalten gruppieren, aber die Reihenfolge ist in diesem Fall entscheidend. Im vorherigen Kapitel haben wir Daten nach der Flugnummer gruppiert und die Anzahl der Verspätungen gezählt. Wir können diese Aufgabe komplizierter machen, indem wir nicht nur nach der Spalte 'Flight'
, sondern auch nach der Spalte 'Airline'
gruppieren. Aktualisieren Sie die Informationen zum Datensatz und sehen Sie sich dann dieses einfache Beispiel an (die Ausgabe enthält nur die ersten 10 Zeilen):
import 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))
Erklärung:
data[['Flight', 'Delay', 'Airline']]
- Spalten, mit denen Sie arbeiten werden, einschließlich der Spalten, nach denen Sie gruppieren werden;.groupby(['Flight', 'Airline'])
- hier sind'Flight'
und'Airline'
Argumente der Funktion.groupby()
.
Achten Sie darauf, wenn Sie nach mehreren Spalten gruppieren möchten, setzen Sie diese in die Liste - die Reihenfolge ist entscheidend. In unserem Fall, wenn Zeilen des Datensatzes denselben Wert in der Spalte 'Flight'
haben, gehören sie zu einer Gruppe. Dann findet die Funktion innerhalb dieser Gruppen andere Gruppen für Zeilen mit demselben Wert in der Spalte 'Airline'
. Dann, aufgrund der Methode .count()
, die die Zeilen zählt, wird unsere Funktion die Anzahl der Zeilen in der Spalte 'Delay'
berechnen, die denselben Wert in der Spalte 'Airline'
für jede 'Flight'
-Gruppe haben.
Swipe to start coding
Ihre Aufgabe besteht darin, Daten nach dem Flughafen, von dem der Flug gestartet ist, und dann nach dem Wochentag zu gruppieren. Berechnen Sie die durchschnittliche Zeit für die Gruppen. Befolgen Sie den Algorithmus, um die Aufgabe zu bewältigen:
- Daten gruppieren:
- Extrahieren Sie die Spalten
'AirportFrom'
,'DayOfWeek'
und'Time'
ausdata
(in dieser Reihenfolge); - Wenden Sie die Methode
.groupby()
auf die vorherigen Spalten an; - Setzen Sie innerhalb der Methode
.groupby()
die Spalten'AirportFrom'
und'DayOfWeek'
; die Reihenfolge ist entscheidend; - Berechnen Sie den Mittelwert der Spalte
'Time'
.
- Extrahieren Sie die Spalten
- Geben Sie die ersten
10
Zeilen vondata_flights
aus.
Lösung
Danke für Ihr Feedback!