Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Gruppierung Nach Mehreren Spalten | Daten Aggregieren
Fortgeschrittene Techniken in Pandas
course content

Kursinhalt

Fortgeschrittene Techniken in Pandas

Fortgeschrittene Techniken in Pandas

1. Vertraut Werden mit Indizierung und Datenauswahl
2. Umgang mit Bedingungen
3. Daten Extrahieren
4. Daten Aggregieren
5. Datenvorverarbeitung

book
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):

1234
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))
copy

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.

Aufgabe

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:

  1. Daten gruppieren:
    • Extrahieren Sie die Spalten 'AirportFrom', 'DayOfWeek' und 'Time' aus data (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'.
  2. Geben Sie die ersten 10 Zeilen von data_flights aus.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
toggle bottom row

book
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):

1234
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))
copy

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.

Aufgabe

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:

  1. Daten gruppieren:
    • Extrahieren Sie die Spalten 'AirportFrom', 'DayOfWeek' und 'Time' aus data (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'.
  2. Geben Sie die ersten 10 Zeilen von data_flights aus.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 2
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt