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_tcks
ettop_invoices
surtid
à l'aide d'une jointure interne. Enregistrez le résultat soustracks_invoices
. - Utilisez
.isin()
pour subdiviser les lignes denon_mus_tcks
oùtid
se trouve dans la colonnetid
detracks_invoices
. Enregistrez le résultat soustop_tracks
. - Regroupez
top_tracks
pargid
et comptez les lignes detid
. Enregistrez le résultat surcnt_by_gid
. - Fusionnez
cnt_by_gid
avec la tablegenres
surgid
et 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(____)