始める無料で始める

外部結合を使って俳優を抽出する

外部結合の便利な点のひとつは、結合した両方のテーブルのすべての行を返し、一致しない箇所には null が入るため、もう一方のテーブルに一致する行が存在しないデータを見つけられることです。実際に試してみましょう。ここでは、人気映画 アイアンマン1アイアンマン2 の俳優リストを持つ2つのテーブルが用意されています。多くの俳優は両作品に出演していますが、外部結合を使ってどちらか一方にしか出演していない俳優を探してみましょう。

アイアンマン1 のテーブルは iron_1_actorsアイアンマン2 のテーブルは iron_2_actors という名前です。両テーブルはすでに読み込まれており、構造を確認できるよう一部の行が表示されています。

重複なしのベン図

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

pandas によるデータの結合

コースを見る

演習の手順

  • iron_1_and_2(左)と iron_1_actorsiron_2_actors 列で外部結合し、サフィックスを id に設定したうえで、結果を ('_1','_2') に保存しましょう。
  • True または name_1 が null の場合に name_2、そうでない場合に False を返すインデックスを作成しましょう。

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

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

# Merge iron_1_actors to iron_2_actors on id with outer join using suffixes
iron_1_and_2 = iron_1_actors.merge(____,
                                     ____,
                                     ____,
                                     suffixes=____)

# Create an index that returns true if name_1 or name_2 are null
m = ((iron_1_and_2['name_1'].____) | 
     (iron_1_and_2['____'].____))

# Print the first few rows of iron_1_and_2
print(iron_1_and_2[m].head())
コードを編集して実行