Gruppering och aggregering II
Utöver de GroupedData-metoder du redan har sett finns det också metoden .agg().
Den låter dig skicka in ett aggregeringsuttryck som använder valfri aggregeringsfunktion från undermodulen pyspark.sql.functions.
Den här undermodulen innehåller många användbara funktioner för att beräkna exempelvis standardavvikelser. Alla aggregeringsfunktioner i undermodulen tar namnet på en kolumn i en GroupedData-tabell.
Kom ihåg att en SparkSession med namnet spark redan finns i din arbetsyta, tillsammans med Spark-DataFramen flights. De grupperade DataFrames du skapade i förra övningen finns också tillgängliga.
Den här övningen är en del av kursen
Grunderna i PySpark
Övningsinstruktioner
- Importera undermodulen
pyspark.sql.functionssomF. - Skapa en
GroupedData-tabell med namnetby_month_destsom är grupperad efter både kolumnernamonthochdest. Referera till de två kolumnerna genom att skicka in båda strängarna som separata argument. - Använd metoden
.avg()på DataFramenby_month_destför att beräkna det genomsnittligadep_delayper månad och destination. - Beräkna standardavvikelsen för
dep_delaygenom att använda metoden.agg()med funktionenF.stddev().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()