Utföra ett semi join
En del av de spår som genererat mest intäkter kommer från TV-program eller är annat icke-musikaliskt ljud. Du har tillgång till en tabell med fakturor som innehåller de mest inkomstbringande artiklarna, samt en tabell med icke-musikaliska spår från en streamingtjänst. I den här övningen använder du ett semi join för att hitta de icke-musikaliska spår som genererat mest intäkter.
Tabellerna non_mus_tcks, top_invoices och genres har redan laddats in åt dig.
Den här övningen är en del av kursen
Joining Data with pandas
Övningsinstruktioner
- Slå ihop
non_mus_tcksochtop_invoicespåtidmed ett inner join. Spara resultatet somtracks_invoices. - Använd
.isin()för att filtrera raderna inon_mus_tcksdärtidfinns i kolumnentiditracks_invoices. Spara resultatet somtop_tracks. - Gruppera
top_trackseftergidoch räkna antalettid-rader. Spara resultatet icnt_by_gid. - Slå ihop
cnt_by_gidmed tabellengenrespågidoch skriv ut resultatet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)