Bắt đầu ngayBắt đầu miễn phí

Thực hiện semi join

Một số bản nhạc tạo ra doanh thu lớn nhất lại đến từ các chương trình TV hoặc là các tệp âm thanh phi âm nhạc khác. Bạn được cung cấp một bảng hóa đơn chứa các mặt hàng tạo doanh thu hàng đầu. Ngoài ra, bạn còn có một bảng liệt kê các bản nhạc phi âm nhạc từ dịch vụ streaming. Trong bài tập này, bạn sẽ dùng semi join để tìm các bản nhạc phi âm nhạc mang lại doanh thu cao nhất.

Các bảng non_mus_tcks, top_invoicesgenres đã được nạp sẵn cho bạn.

Bài tập này là một phần của khóa học

Kết hợp dữ liệu với pandas

Xem khóa học

Hướng dẫn bài tập

  • Gộp non_mus_tckstop_invoices trên tid bằng inner join. Lưu kết quả vào tracks_invoices.
  • Dùng .isin() để lọc các hàng của non_mus_tcks nơi tid nằm trong cột tid của tracks_invoices. Lưu kết quả vào top_tracks.
  • Nhóm top_tracks theo gid và đếm số hàng tid. Lưu kết quả vào cnt_by_gid.
  • Gộp cnt_by_gid với bảng genres trên gid và in kết quả.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Merge the non_mus_tcks and top_invoices tables on tid
tracks_invoices = ____.merge(____)

# Use .isin() to subset non_mus_tcks to rows with tid in tracks_invoices
top_tracks = _____[non_mus_tcks['tid'].isin(____)]

# Group the top_tracks by gid and count the tid rows
cnt_by_gid = top_tracks.groupby(['gid'], as_index=False).agg({'tid':____})

# Merge the genres table to cnt_by_gid on gid and print
print(____)
Chỉnh sửa và Chạy Mã