Inizia subitoInizia gratis

Statistiche riassuntive di MovieLens

Approfondiamo un po' il metodo groupBy().

Dopo aver applicato il metodo .groupBy() a un dataframe, puoi eseguire funzioni di aggregazione come .sum(), .avg(), .min() e ottenere i risultati raggruppati. In questo esercizio vedrai come fare. Le funzioni min e avg sono già state importate da pyspark.sql.functions per te.

Questo esercizio fa parte del corso

Costruire motori di raccomandazione con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Raggruppa i dati per movieId e usa il metodo .count() per calcolare quante valutazioni ha ricevuto ciascun film. Da lì, richiama il metodo .select() per selezionare le seguenti metriche:
    • min("count") per ottenere il numero minimo di valutazioni ricevute da qualsiasi film nell'insieme di dati. Il primo è già fornito come esempio.
    • avg("count") per ottenere il numero medio di valutazioni per film
  • Ripeti la stessa cosa, ma questa volta raggruppa per userId per ottenere il numero min e avg di valutazioni.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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: ")
____.____("____").____().____(____("____")).____()
Modifica ed esegui il codice