Gruppieren und Aggregieren von II
Zusätzlich zu den GroupedData
-Methoden, die du bereits gesehen hast, gibt es auch die .agg()
-Methode.
Mit dieser Methode kannst du einen Aggregatspaltenausdruck übergeben, der eine der Aggregatfunktionen aus dem Untermodul pyspark.sql.functions
verwendet.
Dieses Untermodul enthält viele nützliche Funktionen, um Dinge wie Standardabweichungen zu berechnen. Alle Aggregationsfunktionen in diesem Untermodul nehmen den Namen einer Spalte in einer GroupedData
-Tabelle entgegen.
Erinnere dich daran, dass eine SparkSession
mit dem Namen spark
bereits in deinem Arbeitsbereich liegt, zusammen mit dem Spark DataFrame flights
. Die gruppierten DataFrames, die du in der letzten Aufgabe erstellt hast, befinden sich ebenfalls in deinem Arbeitsbereich.
Diese Übung ist Teil des Kurses
Einführung in PySpark
Anleitung zur Übung
- Importiere das Untermodul
pyspark.sql.functions
alsF
. - Erstelle eine Tabelle
GroupedData
mit dem Namenby_month_dest
, die nach den Spaltenmonth
unddest
gruppiert ist. Beziehe dich auf die beiden Spalten, indem du die beiden Strings als separate Argumente übergibst. - Verwende die Methode
.avg()
für den DataFrameby_month_dest
, um den durchschnittlichen Wert fürdep_delay
(Verspätung bei Abflug) in jedem Monat für jedes Ziel zu erhalten. - Finde die Standardabweichung von
dep_delay
, indem du die Methode.agg()
mit der FunktionF.stddev()
anwendest.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Import pyspark.sql.functions as F
import ____ as F
# Group by month and dest
by_month_dest = flights.groupBy(____)
# Average departure delay by month and destination
by_month_dest.____.show()
# Standard deviation of departure delay
by_month_dest.agg(F.____(____)).show()