Regroupement et agrégation II
Outre les méthodes GroupedData
que vous avez déjà vues, il existe également la méthode .agg()
.
Cette méthode vous permet de transmettre une expression de colonne agrégée qui utilise l'une des fonctions agrégées du sous-module pyspark.sql.functions
.
Ce sous-module contient de nombreuses fonctions utiles pour calculer des choses comme les écarts types. Toutes les fonctions d'agrégation de ce sous-module prennent le nom d'une colonne dans un tableau GroupedData
.
Rappelez-vous qu'un site SparkSession
appelé spark
se trouve déjà dans votre espace de travail, ainsi que le DataFrame Spark flights
. Les DataFrame groupés que vous avez créés dans le dernier exercice se trouvent également dans votre espace de travail.
Cet exercice fait partie du cours
Introduction à PySpark
Instructions
- Importez le sous-module
pyspark.sql.functions
sous la formeF
. - Créez un tableau
GroupedData
appeléby_month_dest
qui est groupé par les colonnesmonth
etdest
. Faites référence aux deux colonnes en passant les deux chaînes comme arguments séparés. - Utilisez la méthode
.avg()
sur le DataFrameby_month_dest
pour obtenir la moyennedep_delay
de chaque mois pour chaque destination. - Trouvez l'écart-type de
dep_delay
en utilisant la méthode.agg()
avec la fonctionF.stddev()
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()