Aan de slagGa gratis aan de slag

Groeperen en aggregeren II

Naast de GroupedData-methoden die je al hebt gezien, is er ook de methode .agg(). Met deze methode kun je een aggregatie-expressie voor een kolom doorgeven die gebruikmaakt van een van de aggregatiefuncties uit de submodule pyspark.sql.functions.

Deze submodule bevat veel handige functies om bijvoorbeeld standaarddeviaties te berekenen. Alle aggregatiefuncties in deze submodule nemen de naam van een kolom in een GroupedData-tabel.

Onthoud: er staat al een SparkSession met de naam spark in je werkruimte, samen met de Spark DataFrame flights. De gegroepeerde DataFrames die je in de vorige oefening hebt gemaakt, staan ook in je werkruimte.

Deze oefening maakt deel uit van de cursus

Basis van PySpark

Cursus bekijken

Oefeninstructies

  • Importeer de submodule pyspark.sql.functions als F.
  • Maak een GroupedData-tabel met de naam by_month_dest die zowel op de kolommen month als dest is gegroepeerd. Verwijs naar de twee kolommen door beide strings als losse argumenten door te geven.
  • Gebruik de methode .avg() op de DataFrame by_month_dest om de gemiddelde dep_delay per maand voor elke bestemming te krijgen.
  • Vind de standaarddeviatie van dep_delay met de methode .agg() in combinatie met de functie F.stddev().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren