Wykonywanie semi-join
Niektóre z utworów, które wygenerowały największe przychody, pochodzą z seriali telewizyjnych lub są innymi niemuzycznymi plikami audio. Masz do dyspozycji tabelę faktur zawierającą pozycje z najwyższymi przychodami oraz tabelę niemuzycznych ścieżek z serwisu streamingowego. W tym ćwiczeniu użyjesz semi-join, aby znaleźć niemuzyczne ścieżki generujące największe przychody.
Tabele non_mus_tcks, top_invoices oraz genres zostały już załadowane.
To ćwiczenie jest częścią kursu
Łączenie danych z pandas
Instrukcje do ćwiczenia
- Połącz
non_mus_tcksitop_invoicespo kolumnietidza pomocą złączenia wewnętrznego (inner join). Zapisz wynik jakotracks_invoices. - Użyj metody
.isin(), aby odfiltrować wiersze znon_mus_tcks, w których wartośćtidznajduje się w kolumnietidtabelitracks_invoices. Zapisz wynik jakotop_tracks. - Pogrupuj
top_trackswedługgidi zlicz wierszetid. Zapisz wynik do zmiennejcnt_by_gid. - Połącz
cnt_by_gidz tabelągenrespo kolumniegidi wyświetl wynik.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____)