Note moyenne par cours
Une excellente façon de recommander des cours est de proposer ceux qui sont les mieux notés, puisque les étudiants de DataCamp apprécient souvent les cours que leurs pairs évaluent très positivement.
Dans cet exercice, vous compléterez une fonction de transformation, transform_avg_rating(), qui agrège les données d'évaluation à l'aide de la méthode .groupby() d'un DataFrame 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 terminerez cette fonction de transformation et vous l'appliquerez aux données brutes d'évaluation extraites grâce à la fonction utilitaire extract_rating_data() qui récupère les notes de cours à partir de la table rating.
Cette activité fait partie du cours
Introduction à l'ingénierie des données
Instructions de l’exercice
- Complétez la fonction
transform_avg_rating()en regroupant par la colonnecourse_idet en calculant la moyenne de la colonnerating. - Utilisez
extract_rating_data()pour extraire les données brutes d'évaluations. Elle prend comme argument le moteur de base de donnéesdb_engines. - Appliquez
transform_avg_rating()aux données brutes d'évaluation que vous avez extraites.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)