Самые популярные песни
Осталось ещё одно задание с данными Spotify — найти 10 самых популярных песен за все доступные годы. Алгоритм таков: сначала найдите 10 лучших песен для каждого года, затем объедините эти списки и выберите 10 лучших из них.
Для вас уже подготовлена следующая функция, которая находит 10 лучших песен в DataFrame. Она доступна в вашем окружении.
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()для объединённого DataFrame, чтобы найти 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)