CommencezCommencez gratuitement

Statistiques sommaires de MovieLens

Poussons un peu plus loin la méthode groupBy().

Une fois que vous avez appliqué la méthode .groupBy() à un dataframe, vous pouvez exécuter ensuite des fonctions d'agrégation comme .sum(), .avg(), .min() et obtenir des résultats groupés. Cet exercice vous montre comment procéder. Les fonctions min et avg ont été importées pour vous depuis pyspark.sql.functions.

Cette activité fait partie du cours

Créer des moteurs de recommandation avec PySpark

Voir le cours

Instructions de l’exercice

  • Regroupez les données par movieId et utilisez la méthode .count() pour calculer combien d'évaluations chaque film a reçues. Ensuite, appelez la méthode .select() pour sélectionner les mesures suivantes :
    • min("count") pour obtenir le plus petit nombre d'évaluations pour un film du jeu de données. Ce premier exemple vous est fourni.
    • avg("count") pour obtenir le nombre moyen d'évaluations par film
  • Recommencez, mais cette fois regroupez par userId pour obtenir le nombre min et avg d'évaluations.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Min num ratings for movies
print("Movie with the fewest ratings: ")
ratings.groupBy("movieId").count().select(min("count")).show()

# Avg num ratings per movie
print("Avg num ratings per movie: ")
____.groupBy("____").count().____(avg("____")).____()

# Min num ratings for user
print("User with the fewest ratings: ")
ratings.____("userId").____().select(____("____")).____()

# Avg num ratings per users
print("Avg num ratings per user: ")
____.____("____").____().____(____("____")).____()
Modifier et exécuter le code