Truy vấn các gợi ý khóa học
Ở các bài trước, bạn đã học cách tính toán một bảng gợi ý khóa học theo chu kỳ hằng ngày. Khi bảng recommendations đã có trong kho dữ liệu, bạn có thể nhanh chóng JOIN với các bảng khác để tạo ra những tính năng quan trọng cho học viên DataCamp như email marketing cá nhân hóa, gợi ý thông minh cho học viên và nhiều tính năng khác.
Trong bài tập này, bạn sẽ thử cách tận dụng bảng recommendations vừa tạo bằng cách viết hàm recommendations_for_user() để tự động lấy các khóa học được đề xuất hàng đầu theo từng user ID với một ngưỡng điểm đánh giá cụ thể.
Bài tập này là một phần của khóa học
Introduction to Data Engineering
Hướng dẫn bài tập
- Hoàn thiện truy vấn trong phần định nghĩa hàm
recommendations_for_user(). Truy vấn này cần JOIN bảngcourses. - Hoàn thiện hàm
read_sql()trongrecommendations_for_user(). Đối sốparamscòn thiếu: chưa có threshold. - Chạy hàm
recommendations_for_user()bạn vừa định nghĩa ở các lệnh cuối và quan sát kết quả.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
def recommendations_for_user(user_id, threshold=4.5):
# Join with the courses table
query = """
SELECT title, rating FROM recommendations
INNER JOIN ____ ON courses.course_id = recommendations.course_id
WHERE user_id=%(user_id)s AND rating>%(threshold)s
ORDER BY rating DESC
"""
# Add the threshold parameter
predictions_df = pd.read_sql(query, db_engine, params = {"user_id": user_id,
"____": ____})
return predictions_df.title.values
# Try the function you created
print(recommendations_for_user(12, 4.65))