CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez le sous-module pyspark.sql.functions sous le nom F.
  • Créez une table GroupedData appelée by_month_dest regroupée à la fois par les colonnes month et dest. Référez-vous aux deux colonnes en passant les deux chaînes comme arguments distincts.
  • Utilisez la méthode .avg() sur le DataFrame by_month_dest pour obtenir la moyenne de dep_delay chaque mois pour chaque destination.
  • Trouvez l'écart-type de dep_delay en utilisant la méthode .agg() avec la fonction F.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()
Modifier et exécuter le code