セミジョインの実行
ストリーミングサービスで最も多くの収益を生み出しているトラックの中には、テレビ番組由来のものや、音楽以外の音声コンテンツも含まれています。収益上位の明細を含む請求書テーブルと、ストリーミングサービス上の非音楽トラックのテーブルが用意されています。この演習では、セミジョインを使って、収益上位の非音楽トラックを抽出しましょう。
テーブル non_mus_tcks、top_invoices、genres はあらかじめ読み込まれています。
この演習はコースの一部です
pandas によるデータの結合
演習の手順
non_mus_tcksとtop_invoicesをtidをキーに内部結合し、結果をtracks_invoicesとして保存してください。.isin()を使って、non_mus_tcksの中からtidがtidのtracks_invoices列に含まれる行を抽出し、結果をtop_tracksとして保存してください。top_tracksをgidでグループ化し、tidの行数を集計してください。結果をcnt_by_gidとして保存してください。cnt_by_gidとgenresテーブルを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(____)