Note moyenne par cours
Une excellente façon de recommander des cours est de mettre en avant ceux qui sont les mieux notés, car les étudiants de DataCamp apprécient souvent les cours plébiscités par leurs pairs.
Dans cet exercice, vous allez compléter une fonction de transformation transform_avg_rating() qui agrège les notes en utilisant la méthode .groupby() des DataFrames pandas. L’objectif est d’obtenir un DataFrame avec deux colonnes : un identifiant de cours et sa note moyenne :
| course_id | avg_rating |
|---|---|
| 123 | 4.72 |
| 111 | 4.62 |
| … | … |
Dans cet exercice, vous allez terminer cette fonction de transformation et l’appliquer aux données brutes de notation extraites via la fonction utilitaire extract_rating_data(), qui récupère les notes des cours depuis la table rating.
Cet exercice fait partie du cours
Introduction au data engineering
Instructions
- Complétez la fonction
transformavg_rating()en groupant par la colonnecourse_id, puis en calculant la moyenne de la colonnerating. - Utilisez
extract_rating_data()pour extraire les données brutes de notation. Elle prend comme argument le moteur de base de donnéesdb_engines. - Appliquez
transform_avg_rating()aux données brutes que vous avez extraites.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Complete the transformation function
def transform_avg_rating(rating_data):
# Group by course_id and extract average rating per course
avg_rating = rating_data.____('____').rating.____()
# Return sorted average ratings per course
sort_rating = avg_rating.sort_values(ascending=False).reset_index()
return sort_rating
# Extract the rating data into a DataFrame
rating_data = extract_rating_data(____)
# Use transform_avg_rating on the extracted data and print results
avg_rating_data = transform_avg_rating(____)
print(avg_rating_data)