Regroupement et agrégation II
En plus des méthodes GroupedData que vous avez déjà observées, 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 d'agrégation du sous-module pyspark.sql.functions.
Ce sous-module contient de nombreuses fonctions utiles pour calculer des éléments tels que les écarts types. Toutes les fonctions d'agrégation de ce sous-module prennent le nom d'une colonne dans une table GroupedData.
Veuillez noter qu'un SparkSession nommé spark se trouve déjà dans votre espace de travail, ainsi que le Spark DataFrame flights. Les DataFrames regroupés que vous avez créés lors du dernier exercice se trouvent également dans votre espace de travail.
Cet exercice fait partie du cours
<cours>Principes fondamentaux de PySpark</cours>Instructions de l’exercice
- Veuillez importer le sous-module
pyspark.sql.functionsen tant queF. - Veuillez créer une table
GroupedDatas intituléeby_month_destqui soit regroupée à la fois par les colonnesmonthetdest. Veuillez vous référer aux deux colonnes en transmettant les deux chaînes comme arguments distincts. - Veuillez utiliser la méthode
.avg()sur le DataFrameby_month_destpour obtenir le nombre moyen de passagers (dep_delay) par mois et par destination. - Veuillez déterminer l'écart type de
dep_delayen utilisant la méthode.agg()avec la fonctionF.stddev().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()