Exécution d'une semi-jointure
Certains des cursus qui ont généré le plus de recettes proviennent d’émissions télévisées ou d'autres supports audio non musicaux. On vous a remis une table de factures comprenant les principaux postes générateurs de recettes. En outre, vous disposez d'une table des morceaux non musicaux du service de streaming. Dans cet exercice, vous utiliserez une jointure partielle pour trouver les cursus non musicaux qui génèrent le plus de recettes.
Les tables non_mus_tcks, top_invoices et genres ont été chargées pour vous.
Cet exercice fait partie du cours
Joindre des données avec pandas
Instructions
- Fusionnez
non_mus_tcksettop_invoicessurtidà l'aide d'une jointure interne. Enregistrez le résultat soustracks_invoices. - Utilisez
.isin()pour subdiviser les lignes denon_mus_tcksoùtidse trouve dans la colonnetiddetracks_invoices. Enregistrez le résultat soustop_tracks. - Regroupez
top_trackspargidet comptez les lignes detid. Enregistrez le résultat surcnt_by_gid. - Fusionnez
cnt_by_gidavec la tablegenressurgidet affichez le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____)