Komplizierte Gruppierung
Es kommt manchmal vor, dass wir mit den eingebauten pandas-Funktionen wie .mean()
oder .min()
beim Gruppieren nicht zufrieden sind.
Schauen Sie sich die Spalte 'Length'
an; hier haben wir die Fluglänge in Minuten. Stellen Sie sich vor, wir möchten die maximale Zeit in Stunden für Elemente berechnen, die denselben Wert in der Spalte 'Flight'
und dann in der Spalte 'Airline'
haben. Dazu können wir den Maximalwert der Spalte 'Length'
für jeden Gruppenschlüssel berechnen und dann durch 60
teilen. Schauen Sie sich das Beispiel und die Erklärung unten an.
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', 'Airline', 'Length']].groupby(['Flight', 'Airline']).apply(lambda x: x['Length'].max()/60) print(data_flights.head(10))
Erklärung:
Wir haben das Beispiel aus den vorherigen Kapiteln etwas komplizierter gemacht, sodass beim Gruppieren der Daten alles gleich bleibt; wenden wir uns der .apply()
-Methode zu.
.apply(lambda x: x['Length'].max()/60)
.apply()
- es hilft, eine spezifische Funktion auf die benötigten Spalten anzuwenden;- in der
lambda
-Funktion istx
das Argument undx['Length'].max()/60
der Ausdruck. Die Funktion findet den maximalen Wert für jeden Gruppenschlüssel und teilt den aggregierten Wert durch60
.
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 minimale Zeitdauer der Summe der Spalten 'Length'
und 'Time'
der Gruppen, um herauszufinden, wie lange der Flug mit Verspätung dauern kann. Befolgen Sie den Algorithmus, um die Aufgabe zu bewältigen:
Daten gruppieren:
- Speichern Sie die Liste der Spalten
'AirportFrom'
,'Airline'
,'Time'
und'Length'
(in dieser Reihenfolge) in der Variablencolumns
; - Extrahieren Sie
columns
ausdata
; - Die Reihenfolge ist entscheidend innerhalb der
.groupby()
-Methode; setzen Sie die Spalten'AirportFrom'
und'Airline'
in dieser Reihenfolge; - Wenden Sie die Funktion auf die Werte des Datensatzes mit denselben Gruppenschlüsseln an;
- Berechnen Sie die Summe von zwei Spalten:
'Length'
und'Time'
. Finden Sie dann deren Minimum.
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
Awesome!
Completion rate improved to 3.03
Komplizierte Gruppierung
Swipe um das Menü anzuzeigen
Es kommt manchmal vor, dass wir mit den eingebauten pandas-Funktionen wie .mean()
oder .min()
beim Gruppieren nicht zufrieden sind.
Schauen Sie sich die Spalte 'Length'
an; hier haben wir die Fluglänge in Minuten. Stellen Sie sich vor, wir möchten die maximale Zeit in Stunden für Elemente berechnen, die denselben Wert in der Spalte 'Flight'
und dann in der Spalte 'Airline'
haben. Dazu können wir den Maximalwert der Spalte 'Length'
für jeden Gruppenschlüssel berechnen und dann durch 60
teilen. Schauen Sie sich das Beispiel und die Erklärung unten an.
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', 'Airline', 'Length']].groupby(['Flight', 'Airline']).apply(lambda x: x['Length'].max()/60) print(data_flights.head(10))
Erklärung:
Wir haben das Beispiel aus den vorherigen Kapiteln etwas komplizierter gemacht, sodass beim Gruppieren der Daten alles gleich bleibt; wenden wir uns der .apply()
-Methode zu.
.apply(lambda x: x['Length'].max()/60)
.apply()
- es hilft, eine spezifische Funktion auf die benötigten Spalten anzuwenden;- in der
lambda
-Funktion istx
das Argument undx['Length'].max()/60
der Ausdruck. Die Funktion findet den maximalen Wert für jeden Gruppenschlüssel und teilt den aggregierten Wert durch60
.
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 minimale Zeitdauer der Summe der Spalten 'Length'
und 'Time'
der Gruppen, um herauszufinden, wie lange der Flug mit Verspätung dauern kann. Befolgen Sie den Algorithmus, um die Aufgabe zu bewältigen:
Daten gruppieren:
- Speichern Sie die Liste der Spalten
'AirportFrom'
,'Airline'
,'Time'
und'Length'
(in dieser Reihenfolge) in der Variablencolumns
; - Extrahieren Sie
columns
ausdata
; - Die Reihenfolge ist entscheidend innerhalb der
.groupby()
-Methode; setzen Sie die Spalten'AirportFrom'
und'Airline'
in dieser Reihenfolge; - Wenden Sie die Funktion auf die Werte des Datensatzes mit denselben Gruppenschlüsseln an;
- Berechnen Sie die Summe von zwei Spalten:
'Length'
und'Time'
. Finden Sie dann deren Minimum.
Lösung
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 3.03single