IniziaInizia gratis

Raggruppamento e aggregazione II

Oltre ai metodi di GroupedData che hai già visto, c'è anche il metodo .agg(). Questo metodo ti permette di passare un'espressione di colonna di aggregazione che usa una qualsiasi delle funzioni di aggregazione del sottomodulo pyspark.sql.functions.

Questo sottomodulo contiene molte funzioni utili per calcolare, ad esempio, le deviazioni standard. Tutte le funzioni di aggregazione in questo sottomodulo accettano il nome di una colonna in una tabella GroupedData.

Ricorda: una SparkSession chiamata spark è già nel tuo workspace, insieme allo Spark DataFrame flights. Anche i DataFrame raggruppati che hai creato nell'esercizio precedente sono nel tuo workspace.

Questo esercizio fa parte del corso

Fondamenti di PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Importa il sottomodulo pyspark.sql.functions come F.
  • Crea una tabella GroupedData chiamata by_month_dest raggruppata sia per le colonne month che dest. Fai riferimento alle due colonne passando entrambe le stringhe come argomenti separati.
  • Usa il metodo .avg() sul DataFrame by_month_dest per ottenere il dep_delay medio in ogni mese per ciascuna destinazione.
  • Trova la deviazione standard di dep_delay usando il metodo .agg() con la funzione F.stddev().

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice