Canciones más populares
Te queda una tarea más con estos datos de Spotify: encontrar las 10 canciones más populares de todos los años disponibles. El algoritmo que necesitas consiste en calcular las 10 mejores canciones de cada año, combinarlas y, después, obtener las 10 mejores de ese conjunto de top 10.
La siguiente función, que encuentra las 10 canciones más populares en un DataFrame, ya está disponible en tu entorno.
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask y la función delayed() ya se han importado por ti. pandas se ha importado como pd. La lista de nombres de archivo está disponible en tu entorno como filenames, y el año de cada archivo está guardado en la lista years.
Este ejercicio forma parte del curso
Programación paralela con Dask en Python
Instrucciones del ejercicio
- Para cada archivo, encuentra las 10 canciones más populares de ese año usando la función
top_10_most_popular(). - Calcula la lista de top 10 de cada año y selecciona el primer elemento de la tupla resultante.
- Ejecuta la función
top_10_most_popular()para encontrar las 10 canciones más populares sobre el DataFrame concatenado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)