Brani più popolari
Hai un ultimo compito su questi dati di Spotify: trovare i 10 brani più popolari su tutti gli anni disponibili. L'algoritmo da usare consiste nel calcolare i 10 brani migliori di ogni anno, poi combinarli e infine trovare i 10 migliori tra questi top 10.
La seguente funzione, che trova i 10 brani migliori in un DataFrame, è stata fornita e disponibile nel tuo ambiente.
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask e la funzione delayed() sono già stati importati per te. pandas è stato importato come pd. L'elenco dei nomi dei file è disponibile nel tuo ambiente come filenames, e l'anno di ciascun file è memorizzato nella lista years.
Questo esercizio fa parte del corso
Programmazione parallela con Dask in Python
Istruzioni dell'esercizio
- Per ogni file, trova i 10 brani migliori di quell'anno usando la funzione
top_10_most_popular(). - Esegui il calcolo della lista dei top 10 di ogni anno e seleziona il primo elemento della tupla risultante.
- Esegui la funzione
top_10_most_popular()per trovare i 10 brani migliori sul DataFrame concatenato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)