Beliebteste Songs
Du hast noch eine Aufgabe mit diesen Spotify-Daten: Finde die 10 beliebtesten Songs über alle verfügbaren Jahre hinweg. Der Algorithmus dafür ist: Bestimme die Top 10 pro Jahr, kombiniere diese Listen und ermittle dann die Top 10 der Top-10-Listen.
Die folgende Funktion, die die Top 10 in einem DataFrame findet, wurde dir bereitgestellt und ist in deiner Umgebung verfügbar.
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask und die Funktion delayed() wurden für dich importiert. pandas wurde als pd importiert. Die Liste der Dateinamen ist in deiner Umgebung als filenames verfügbar, und das Jahr jeder Datei steht in der Liste years.
Diese Übung ist Teil des Kurses
Parallele Programmierung mit Dask in Python
Anleitung zur Übung
- Ermittle für jede Datei die Top 10 Songs in diesem Jahr mit der Funktion
top_10_most_popular(). - Rechne die Liste der jährlichen Top-10-Listen aus und wähle das erste Element des resultierenden Tuples aus.
- Führe die Funktion
top_10_most_popular()auf dem verketteten DataFrame aus, um die 10 beliebtesten Songs insgesamt zu finden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)