Regrouper et agréger II
En plus des méthodes de GroupedData que vous avez déjà vues, il existe aussi la méthode .agg().
Cette méthode vous permet de transmettre une expression de colonne d'agrégation qui utilise n'importe quelle fonction d'agrégation du sous-module pyspark.sql.functions.
Ce sous-module contient de nombreuses fonctions utiles pour calculer, par exemple, des écarts-types. Toutes les fonctions d'agrégation de ce sous-module prennent le nom d'une colonne dans une table GroupedData.
N'oubliez pas qu'une SparkSession appelée spark est déjà disponible dans votre espace de travail, tout comme le DataFrame Spark flights. Les DataFrames groupés que vous avez créés dans le dernier exercice s'y trouvent aussi.
Cette activité fait partie du cours
Fondements de PySpark
Instructions de l’exercice
- Importez le sous-module
pyspark.sql.functionssous le nomF. - Créez une table
GroupedDataappeléeby_month_destregroupée à la fois par les colonnesmonthetdest. Référez-vous aux deux colonnes en passant les deux chaînes comme arguments distincts. - Utilisez la méthode
.avg()sur le DataFrameby_month_destpour obtenir la moyenne dedep_delaychaque mois pour chaque destination. - Trouvez 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()