Melakukan semi join
Beberapa track yang menghasilkan pendapatan terbesar berasal dari acara TV atau audio non-musik lainnya. Anda diberikan sebuah tabel invoice yang memuat item dengan pendapatan tertinggi. Selain itu, Anda juga memiliki tabel track non-musik dari layanan streaming. Pada latihan ini, Anda akan menggunakan semi join untuk menemukan track non-musik dengan pendapatan tertinggi.
Tabel non_mus_tcks, top_invoices, dan genres telah dimuat untuk Anda.
Latihan ini adalah bagian dari kursus
Menggabungkan Data dengan pandas
Petunjuk latihan
- Gabungkan
non_mus_tcksdantop_invoicespadatidmenggunakan inner join. Simpan hasilnya sebagaitracks_invoices. - Gunakan
.isin()untuk melakukan subset barisnon_mus_tcksdi manatidterdapat pada kolomtidmiliktracks_invoices. Simpan hasilnya sebagaitop_tracks. - Kelompokkan
top_tracksberdasarkangiddan hitung baristid. Simpan hasilnya kecnt_by_gid. - Gabungkan
cnt_by_giddengan tabelgenrespadagiddan cetak hasilnya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)