เพลงยอดนิยมอันดับต้น
ยังมีอีกหนึ่งงานที่ต้องทำกับข้อมูล Spotify นี้ คือการค้นหา 10 เพลงยอดนิยมสูงสุดจากทุกปีที่มีข้อมูล อัลกอริทึมที่ใช้คือ คำนวณ 10 เพลงยอดนิยมในแต่ละปีก่อน จากนั้นนำมารวมกันแล้วหา 10 อันดับแรกจากทั้งหมด
ฟังก์ชันต่อไปนี้ซึ่งใช้ค้นหา 10 เพลงยอดนิยมใน DataFrame ได้เตรียมไว้ให้แล้ว และพร้อมใช้งานในสภาพแวดล้อมของคุณ
def top_10_most_popular(df):
return df.nlargest(n=10, columns='popularity')
dask และฟังก์ชัน delayed() ถูก import มาให้แล้ว pandas ถูก import ในชื่อ pd รายชื่อไฟล์พร้อมใช้งานในตัวแปร filenames และปีของแต่ละไฟล์เก็บไว้ใน list years
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Parallel Programming with Dask in Python
คำแนะนำการฝึกหัด
- สำหรับแต่ละไฟล์ ให้ค้นหา 10 เพลงยอดนิยมของปีนั้นโดยใช้ฟังก์ชัน
top_10_most_popular() - คำนวณ list ของ top 10 จากแต่ละปี แล้วเลือก item แรกของ tuple ที่ได้
- รันฟังก์ชัน
top_10_most_popular()เพื่อค้นหา 10 เพลงยอดนิยมจาก DataFrame ที่รวมกันแล้ว
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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)