他のデータフレームの列を使ってフィルタする方法:Filter Join

これは「他のデータフレームの列を結合する方法」のパート2です。もしJoin(結合)について良くご存知ないようでしたら、最初にパート1をご覧ください。

  • 他のデータフレームの列を結合する方法 - Link

データを探索していると、別のデータフレームのデータをもとにデータをフィルターしたいことがあります。

こういった時は「セミ結合(Semi Join)」や「アンチ結合(Anti Join)」といったデータがフィルターされるタイプのJoin(結合)が有効です。

これらの結合タイプは、「左外部結合(Left Join)」などの結合タイプとは異なり、結合先のデータフレームから列を取得しないことに注意してください。代わりに、結合先のデータフレームのデータはフィルタリングにのみ使用されるため、「フィルタリング結合」と呼ばれます。

実際に見てみましょう。

1. セミ結合(Semi Join)

「セミ結合(Semi Join)」は、現在のデータフレームの行のうち、結合先のデータフレーム内に一致する値を持つ行のみを保持します。

上記の例では、青の結合先データフレームにAAとUAがあるため、セミ結合(Semi Join)を実行すると、メインデータフレームのAAとUAの行のみが残ります。

2. アンチ結合(Anti Join)

「セミ結合(Semi Join)」と逆の動きをするのが、アンチ結合(Anti Join)です。結合先に一致する値がない行のみ残ります。

Exploratoryの使用例

サンプル・データ

もし手を動かして理解を深めたいようでしたら、下記のデータをダウンロードして、以降のステップを実践してみてください。

  • US Flight Delay Data - Link

利用するデータは以下のような米国のフライトの遅延に関るデータです。

トップ10の都市のデータに絞り込む

例えば、最も頻繁に使用される上位10都市のフライト遅延データのみを表示したいとします。

1.ブランチデータフレームを利用して上位10都市リストを作成する

これを行うために、まずはメインデータフレームから分岐したブランチのデータフレームをすばやく作成して、上位10都市のリストを作成します。

ブランンチを開始したいステップの「ブランチの作成」アイコンをクリックして、ブランチのデータフレームを作成します。

新しく作成されたブランチのデータフレームでは、2つのことを行います。最初のステップは、「集計(Summarize)」コマンドを利用して各都市のフライト数を集計することです。2番目のステップは、「Top_N」コマンドで上位10都市に絞り込むことです。

2.フライト数を集計する

列ヘッダーメニューから「集計(Summarize)」、「カウント(行の数)」を選択します。

「グループ化」に「ORIGIN_CITY_NAME」を選択します。

これにより、各都市から出発するフライトの数が集計されます。

3. 上位10都市に絞り込む

列ヘッダーメニューから「これだけを残す」、「上位N」を選択します。

値に「10」と入力します。

実行すると、最もフライト数が多い上位10都市のリストの完成です。

4. セミ結合(Semi Join)を利用して上位10都市のみのデータに絞り込む

続いて、メインにデータフレームに戻ります。

「ORIGIN_CITY_NAME」の列ヘッダーメニューから「結合(列を追加する/Join)」を選択します。

すると結合ダイアログが表示されるので、「結合タイプ」に「セミ結合(Semi Join)」を選択し、結合先データフレームに先程のブランチのデータフレームを選択します。

2つのデータフレームのデータが一致するように 「ORIGIN_CITY_NAME」列が「現在」のデータフレームと「結合先データフレーム」の両方で選択します。

チャートビューに移動して、バーチャートを利用することで、上位10都市をすばやく可視化することが可能です。

「ピン」をドラッグアンドドロップして「結合」ステップの前のステップに移動すると、すべての都市を含むバーチャートが表示されます。

  • チャートのピンでステップを固定する方法 - Link

5. アンチ結合(Anti Join)を利用して上位10都市「以外」のデータに絞り込む

もう一度、上位10都市のみに絞り込んだ結合ステップに「ピン」を戻します。

今度は何らかの理由で、上位10都市以外のデータのみを表示したいとします。

そういう時には「セミ結合(Semi Join)」ステップ内のトークンボタンをクリックして、結合ダイアログを開きます。

結合タイプに「アンチ結合(Anit Join)」を選択します。

実行をすると、上位10都市以外のデータのみのチャートが表示されます。

参考記事

他にもExploratoryを始めるにあたって役に立つチュートリアルがあります。

興味がある方はこちらから。

  • Exploratoryの始め方ガイド - Link