CommencezCommencez gratuitement

Effectuer un semi-join

Certaines des pistes qui ont généré le plus de revenus proviennent d'émissions télé ou d'autres contenus audio non musicaux. On vous fournit une table de factures qui inclut les articles les plus lucratifs. Vous avez aussi une table des pistes non musicales provenant du service de diffusion en continu. Dans cet exercice, vous ferez un semi-join pour trouver les pistes non musicales les plus génératrices de revenus.

Les tables non_mus_tcks, top_invoices et genres ont été chargées pour vous.

Cette activité fait partie du cours

Assembler des données avec pandas

Voir le cours

Instructions de l’exercice

  • Fusionnez non_mus_tcks et top_invoices sur tid avec une jointure interne (inner join). Enregistrez le résultat dans tracks_invoices.
  • Utilisez .isin() pour extraire les lignes de non_mus_tckstid se trouve dans la colonne tid de tracks_invoices. Enregistrez le résultat dans top_tracks.
  • Regroupez top_tracks par gid et comptez les lignes de tid. Enregistrez le résultat dans cnt_by_gid.
  • Fusionnez cnt_by_gid avec la table genres sur gid et affichez le résultat.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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(____)
Modifier et exécuter le code