Grupare și agregare II
Pe lângă metodele GroupedData pe care le-ai văzut deja, există și metoda .agg().
Aceasta îți permite să transmiți o expresie de coloană agregată care folosește oricare dintre funcțiile de agregare din submodulul pyspark.sql.functions.
Acest submodul conține multe funcții utile pentru calcule precum abaterile standard. Toate funcțiile de agregare din acest submodul primesc ca argument numele unei coloane dintr-un tabel GroupedData.
Amintește-ți că un SparkSession numit spark este deja disponibil în spațiul tău de lucru, împreună cu DataFrame-ul Spark flights. DataFrame-urile grupate create în exercițiul anterior sunt de asemenea disponibile.
Acest exercițiu face parte din cursul
Fundamente PySpark
Instrucțiuni pentru exercițiu
- Importă submodulul
pyspark.sql.functionscu aliasulF. - Creează un tabel
GroupedDatanumitby_month_dest, grupat după coloanelemonthșidest. Referă-te la cele două coloane transmițând ambele șiruri de caractere ca argumente separate. - Folosește metoda
.avg()pe DataFrame-ulby_month_destpentru a obține mediadep_delaypentru fiecare lună și fiecare destinație. - Calculează abaterea standard a
dep_delayfolosind metoda.agg()cu funcțiaF.stddev().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()