Kursinhalt
Fortgeschrittene Techniken in Pandas
Fortgeschrittene Techniken in Pandas
Erweiterte Gruppierung
Lassen Sie uns unser Wissen über die .groupby()
-Methode erweitern. Wie Sie sich erinnern, können wir die .agg()
-Methode verwenden. Tatsächlich sind die Hauptvorteile dieser Funktion, dass wir eine andere Funktion auf die numerischen Spalten mit einem Gruppenschlüssel anwenden können. Schauen Sie sich das Beispiel an, in dem wir Flüge nach der Spalte 'Airline'
gruppiert, dann die Werte in 'Delay'
für jede 'Airline'
gezählt und die minimalen und maximalen Werte für die Spalte 'Length'
berechnet haben. So praktisch, nicht wahr?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Erklärung:
.agg()
- eine Methode, die es uns ermöglicht, Funktionen auf eine Serie oder auf jedes Element separat anzuwenden;{}
- wir verwenden geschweifte Klammern, um die Spalte anzugeben und Funktionen direkt auf sie anzuwenden;'Delay': 'count'
- wendet die.count()
-Funktion auf die Werte in der'Delay'
-Spalte mit demselben Schlüsselgruppenschlüssel an;'Length': ['min', 'max']
- wendet die.min()
- und.max()
-Funktionen auf die Werte in der'Length'
-Spalte mit demselben Schlüsselgruppenschlüssel an. Sie müssen nur den Spaltennamen ohne die()
oder.
-Symbole in der Funktion angeben. Achten Sie darauf, wenn Sie mehrere Funktionen auf dieselbe Spalte anwenden möchten, müssen Sie sie in die Liste setzen.
Swipe to start coding
Wir können annehmen, dass eine Verzögerung von der Fluggesellschaft oder dem Flughafen abhängt, aber lassen Sie uns tiefer eintauchen und die durchschnittlichen und maximalen Verzögerungszeiten in Abhängigkeit vom Flughafen, von dem der Flug gestartet ist, und dann vom Flughafen, an dem der Flug endete, betrachten. Schauen Sie sich auch die mittlere Länge des Fluges an. Befolgen Sie den Algorithmus:
Daten gruppieren:
- Wenden Sie die
.groupby()
-Methode auf den Datensatzdata
an; - Innerhalb der
.groupby()
-Methode setzen Sie die Spalten'AirportFrom'
und'AirportTo'
; die Reihenfolge ist entscheidend; - Verwenden Sie die
.agg()
-Methode, um die aggregierten Werte zu berechnen: den Durchschnitts- und Maximalwert in der Spalte'Time'
und den Medianwert der Spalte'Length'
.
Lösung
Danke für Ihr Feedback!
Erweiterte Gruppierung
Lassen Sie uns unser Wissen über die .groupby()
-Methode erweitern. Wie Sie sich erinnern, können wir die .agg()
-Methode verwenden. Tatsächlich sind die Hauptvorteile dieser Funktion, dass wir eine andere Funktion auf die numerischen Spalten mit einem Gruppenschlüssel anwenden können. Schauen Sie sich das Beispiel an, in dem wir Flüge nach der Spalte 'Airline'
gruppiert, dann die Werte in 'Delay'
für jede 'Airline'
gezählt und die minimalen und maximalen Werte für die Spalte 'Length'
berechnet haben. So praktisch, nicht wahr?
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.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Erklärung:
.agg()
- eine Methode, die es uns ermöglicht, Funktionen auf eine Serie oder auf jedes Element separat anzuwenden;{}
- wir verwenden geschweifte Klammern, um die Spalte anzugeben und Funktionen direkt auf sie anzuwenden;'Delay': 'count'
- wendet die.count()
-Funktion auf die Werte in der'Delay'
-Spalte mit demselben Schlüsselgruppenschlüssel an;'Length': ['min', 'max']
- wendet die.min()
- und.max()
-Funktionen auf die Werte in der'Length'
-Spalte mit demselben Schlüsselgruppenschlüssel an. Sie müssen nur den Spaltennamen ohne die()
oder.
-Symbole in der Funktion angeben. Achten Sie darauf, wenn Sie mehrere Funktionen auf dieselbe Spalte anwenden möchten, müssen Sie sie in die Liste setzen.
Swipe to start coding
Wir können annehmen, dass eine Verzögerung von der Fluggesellschaft oder dem Flughafen abhängt, aber lassen Sie uns tiefer eintauchen und die durchschnittlichen und maximalen Verzögerungszeiten in Abhängigkeit vom Flughafen, von dem der Flug gestartet ist, und dann vom Flughafen, an dem der Flug endete, betrachten. Schauen Sie sich auch die mittlere Länge des Fluges an. Befolgen Sie den Algorithmus:
Daten gruppieren:
- Wenden Sie die
.groupby()
-Methode auf den Datensatzdata
an; - Innerhalb der
.groupby()
-Methode setzen Sie die Spalten'AirportFrom'
und'AirportTo'
; die Reihenfolge ist entscheidend; - Verwenden Sie die
.agg()
-Methode, um die aggregierten Werte zu berechnen: den Durchschnitts- und Maximalwert in der Spalte'Time'
und den Medianwert der Spalte'Length'
.
Lösung
Danke für Ihr Feedback!