Zacznij terazZacznij za darmo

Statystyki podsumowujące zbioru MovieLens

Poznajmy metodę groupBy() nieco bliżej.

Po zastosowaniu metody .groupBy() do ramki danych możesz na niej wykonywać funkcje agregujące, takie jak .sum(), .avg(), .min(), a wyniki będą pogrupowane. To ćwiczenie pokaże ci, jak to działa. Funkcje min i avg zostały już zaimportowane z pyspark.sql.functions.

To ćwiczenie jest częścią kursu

Budowanie silników rekomendacji w PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zgrupuj dane według movieId i użyj metody .count(), aby obliczyć, ile ocen otrzymał każdy film. Następnie wywołaj metodę .select(), by wybrać następujące metryki:
    • min("count") – aby uzyskać najmniejszą liczbę ocen, jaką otrzymał jakikolwiek film w zbiorze danych. Ten krok jest już podany jako przykład.
    • avg("count") – aby uzyskać średnią liczbę ocen na film
  • Zrób to samo, ale tym razem grupuj według userId, aby uzyskać wartości min i avg liczby ocen.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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: ")
____.____("____").____().____(____("____")).____()
Edytuj i uruchom kod