Aan de slagGa gratis aan de slag

Een semi-join uitvoeren

Sommige tracks die de meeste omzet genereren, komen uit tv-shows of zijn andere niet-muzikale audio. Je hebt een tabel met facturen gekregen waarin de items met de hoogste omzet staan. Daarnaast is er een tabel met niet-muzikale tracks van de streamingdienst. In deze oefening gebruik je een semi-join om de niet-muzikale tracks met de hoogste omzet te vinden.

De tabellen non_mus_tcks, top_invoices en genres zijn alvast voor je ingeladen.

Deze oefening maakt deel uit van de cursus

Data samenvoegen met pandas

Cursus bekijken

Oefeninstructies

  • Merge non_mus_tcks en top_invoices op tid met een inner join. Sla het resultaat op als tracks_invoices.
  • Gebruik .isin() om de rijen van non_mus_tcks te subsetten waar tid voorkomt in de kolom tid van tracks_invoices. Sla het resultaat op als top_tracks.
  • Groepeer top_tracks op gid en tel de tid-rijen. Sla het resultaat op in cnt_by_gid.
  • Merge cnt_by_gid met de tabel genres op gid en print het resultaat.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____)
Code bewerken en uitvoeren