始める無料で始める

セミジョインの実行

ストリーミングサービスで最も多くの収益を生み出しているトラックの中には、テレビ番組由来のものや、音楽以外の音声コンテンツも含まれています。収益上位の明細を含む請求書テーブルと、ストリーミングサービス上の非音楽トラックのテーブルが用意されています。この演習では、セミジョインを使って、収益上位の非音楽トラックを抽出しましょう。

テーブル non_mus_tckstop_invoicesgenres はあらかじめ読み込まれています。

この演習はコースの一部です

pandas によるデータの結合

コースを見る

演習の手順

  • non_mus_tckstop_invoicestid をキーに内部結合し、結果を tracks_invoices として保存してください。
  • .isin() を使って、non_mus_tcks の中から tidtidtracks_invoices 列に含まれる行を抽出し、結果を top_tracks として保存してください。
  • top_tracksgid でグループ化し、tid の行数を集計してください。結果を cnt_by_gid として保存してください。
  • cnt_by_gidgenres テーブルを gid で結合し、結果を表示してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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(____)
コードを編集して実行