Những bài hát phổ biến nhất
Bạn còn một nhiệm vụ nữa với dữ liệu Spotify này: tìm 10 bài hát phổ biến nhất trên tất cả các năm. Thuật toán bạn cần dùng là: tính top 10 bài hát cho từng năm, sau đó gộp các kết quả này lại và tìm top 10 của các top 10.
Hàm sau, dùng để tìm top 10 bài hát trong một DataFrame, đã được cung cấp sẵn trong môi trường của bạn.
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask và hàm delayed() đã được nhập sẵn. pandas đã được nhập với bí danh pd. Danh sách tên tệp có sẵn trong môi trường dưới tên filenames, và năm của mỗi tệp được lưu trong list years.
Bài tập này là một phần của khóa học
Lập trình song song với Dask trong Python
Hướng dẫn bài tập
- Với mỗi tệp, hãy tìm top 10 bài hát của năm đó bằng hàm
top_10_most_popular(). - Tính toán danh sách các top 10 từ mỗi năm và chọn phần tử đầu tiên của tuple kết quả.
- Chạy hàm
top_10_most_popular()để tìm top 10 bài hát trên DataFrame đã được nối (concatenated).
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.
top_songs = []
for file in filenames:
df = delayed(pd.read_csv)(file)
# Find the top 10 most popular songs in this file
df_top_10 = ____
top_songs.append(df_top_10)
# Compute the list of top 10s
top_songs_list = ____
# Concatenate them and find the best of the best
top_songs_df = pd.concat(top_songs_list)
df_all_time_top_10 = ____
print(df_all_time_top_10)