Найпопулярніші пісні
У вас є ще одне завдання з цими даними Spotify: знайти 10 найпопулярніших пісень за всі доступні роки. Алгоритм, який вам знадобиться, такий: обчислити топ‑10 пісень у кожному році, потім об'єднати ці списки та знайти топ‑10 серед отриманих топ‑10.
Наведена нижче функція, яка знаходить топ‑10 пісень у датафреймі, уже підготовлена для вас і доступна у вашому середовищі.
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask і функцію delayed() уже імпортовано для вас. pandas імпортовано як pd. Список назв файлів доступний у вашому середовищі як filenames, а рік кожного файла збережено у списку years.
Ця вправа є частиною курсу
Паралельне програмування з Dask у Python
Інструкції до вправи
- Для кожного файла знайдіть топ‑10 пісень у відповідному році за допомогою функції
top_10_most_popular(). - Обчисліть список топ‑10 для кожного року та виберіть перший елемент отриманого кортежу.
- Запустіть функцію
top_10_most_popular(), щоб знайти топ‑10 пісень для об'єднаного датафрейму.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)