Aan de slagBegin gratis

Samenvattende statistieken van MovieLens

Laten we de methode groupBy() een stapje verder nemen.

Zodra je de methode .groupBy() op een dataframe hebt toegepast, kun je vervolgens aggregatiefuncties zoals .sum(), .avg(), .min() uitvoeren en de resultaten gegroepeerd krijgen. In deze oefening leer je hoe dat werkt. De functies min en avg zijn alvast voor je geïmporteerd uit pyspark.sql.functions.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen met PySpark

Bekijk cursus

Oefeninstructies

  • Groepeer de data op movieId en gebruik de methode .count() om te berekenen hoeveel ratings elke film heeft ontvangen. Roep daarna de methode .select() aan om de volgende statistieken te selecteren:
    • min("count") om het kleinste aantal ratings te krijgen dat een film in de gegevensset heeft. Deze eerste staat als voorbeeld voor je klaar.
    • avg("count") om het gemiddelde aantal ratings per film te krijgen
  • Doe hetzelfde, maar groepeer dit keer op userId om het min- en avg-aantal ratings te krijgen.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# 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: ")
____.____("____").____().____(____("____")).____()
Code bewerken en uitvoeren