table の連結
説明
[table の連結] タスクでは、連結を実行、つまり table を横方向または縦方向に連結することによって対話的に 2 つの table を結合できます。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。
このタスクを使用すると、次を行うことができます。
"キー変数" を指定して、内部連結と外部連結を含む table の連結を実行する。このキー変数は table 変数であり、その一致する値 ( "キー値") により出力 table に統合する行が判別されます。
同じ数の行または変数をもつ table をそれぞれ横方向または縦方向に連結する。

タスクを開く
MATLAB エディターで [table の連結] タスクをライブ スクリプトに追加するには、次を行います。
[ライブ エディター] タブで [タスク]、[table の連結] を選択します。
スクリプトのコード ブロック内に、
join
、tables
などの関連キーワードを入力します。コマンドの補完候補から [table の連結] を選択します。
例
ライブ エディターのタスクを使用した table の連結
この例では、ライブ エディターの table の連結タスクを使用して 2 つの table の内部連結と外部連結を実行する方法を説明します。
最初に、多数の出荷に関する注文 ID、顧客名および注文日がある orders
テーブルを読み込みます。
load orders
次に、table、items
を読み込みます。これには、顧客が注文した製品と、その品目の価格と出荷ステータスがあります。この table の各行には、orders
と同様に注文 ID があります。1 人の顧客が複数の品目を注文できるため、items
の複数の行が orders
の 1 つの注文を参照することがあります。
load items
table の連結タスクを開きます。タスクを開くには、キーワード join
をコード ブロックに入力し、メニューに表示された Join Tables
をクリックします。
このタスクを使用して、orders
と items
の "内部連結" を実行します。タスクが開いたら、次を行います。
左と右の table として
orders
とitems
をそれぞれ選択します。両方の table のマージ変数として
OrderID
を選択します。[内部連結] ボタンをクリックします。
このタスクが生成するコードを表示するには、[結果の表示] セクションの下にある小さい矢印をクリックします。この例で生成されるコードは、関数
innerjoin
の呼び出しです。
内部連結を実行すると、出力 table には、左右 "両方" の table に出現するキー値のみが含まれます。
値
1037
と5120
のみが、両方の入力 table にあります。このため、出力 table にはそれら 2 つの注文のデータのみが含まれます。値
1037
は、items
では複数回 (品目ごとに 1 回) 出現しますが、orders
では 1 回のみ出現します。このため、1037
に対応するCustomerID
値とOrderDate
値が、出力に必要な回数だけコピーされます。
次に、このタスクを使用して "左外部連結" を実行します。外部連結は、一方の入力 table にのみ出現するキー値を含むことができます。たとえば、左外部連結には、右の table に対応する一致がない場合でも左の table のすべてのキー値が含まれます。右の table のキー値が左の table と一致しない場合、それらのキー値は含まれません。
[左外部連結] ボタンをクリックします。
[マージ変数の結合] チェック ボックスをオンにします。既定で、外部結合は左右の table のキー変数を出力 table の個別の変数にコピーします。キー変数をマージすると出力のキー変数が 1 つになります。
生成された関数
outerjoin
の呼び出しを表示するには、[結果の表示] の下にある小さい矢印をクリックします。
これで、出力 table には注文 8937
のデータが含まれます。ただし、table、items
には注文 8937
の品目がないため、行の残りは空の値 (''
、NaN
、<undefined>
など) で埋められます。外部連結では、左右の table にキー値に関連付けられたデータがない場合、テーブル要素を空の値で埋めます。
完全な外部連結では、両方の table のキー値とデータがすべて含まれます。
左外部連結では、左の table のキー値とデータがすべて含まれますが、右の table については一致するキー値とそれに関連付けられたデータのみが含まれます。
右外部連結では、右の table のキー値とデータがすべて含まれますが、左の table については一致するキー値とそれに関連付けられたデータのみが含まれます。
関連する例
パラメーター
左のテーブル
— table または timetable の名前
ドロップダウン リストの項目
ワークスペースにあるすべての空でない table および timetable のリストから名前を指定します。
右のテーブル
— table または timetable の名前
ドロップダウン リストの項目
ワークスペースにあるすべての空でない table および timetable のリストから名前を指定します。
マージ変数
— キー値をもつ table 変数の名前
ドロップダウン リストの項目
左または右の table にある変数のリストから変数名を指定します。
左の table のドロップダウン リストには、変数の完全なリストがあります。
右の table のドロップダウン リストには、変数のサブセットがあります。右の table のマージ変数のリストは、左の table から選択されたマージ変数により制約されます。
マージ変数 ("キー" 変数) を指定すると、その値により左右の table からマージされる行が決まります。マージ変数の複数のセットを指定するには、[+] ボタンを使用します。
マージ変数の結合
— 左右のマージ変数を結合するためのチェック ボックス
off
(既定値) | on
外部連結を実行するときに対応するマージ変数を結合します。既定で、外部連結は左右の table のキー変数を、出力 table のそれぞれの変数にコピーします。左右の table の対応するキー変数を結合して出力の 1 つの変数にするには、このチェック ボックスをオンにします。
バージョン履歴
R2019b で導入R2022b: スコアリング アルゴリズムに基づいてタスクがマージ変数を自動的に選択
ライブ エディターの [table の連結] タスクは、行ラベルまたは変数名に基づいてマージ変数の最初のペアを自動的に選択できなかった場合、スコアリング アルゴリズムに基づいて選択しようとします。スコアリング アルゴリズムについては、Auto-Suggest: Learning-to-Recommend Data Preparation Steps Using Data Science Notebooks で説明されています。[table の連結] タスクは、次のステップを使用してマージ変数の候補ペアを選択し、テストします。
マージ変数の最初のペアとして、行名 (table 内) または行時間 (timetable 内) を選択します。
ステップ 1 が失敗した場合、厳密に一致する名前をもつ変数を最初のペアとして選択します。
ステップ 1 およびステップ 2 が失敗した場合、スコアリング アルゴリズムを使用して変数のペアをスコア付けします。スコアが最も高い変数のペアを、マージ変数の最初のペアとして選択します。
前のステップがすべて失敗した場合、[マージ変数] ドロップダウン リストの最初の項目を、マージ変数の最初のペアとして選択します。
以前のリリースでは、ステップ 3 で、名前の一部が最もよく一致する変数のペアがマージ変数の最初のペアとして選択されました。
R2022a: 入力に 100 万個を超える要素がある場合、ライブ エディター タスクは自動実行されない
入力に 100 万個を超える要素がある場合、このライブ エディター タスクは自動実行されません。以前のリリースでは、入力がどのようなサイズでもタスクは必ず自動実行されていました。入力の要素が多い場合、このタスクで生成されたコードは実行にかなりの時間 (数秒間以上) を要することがあります。
タスクが自動的に実行されない場合、自動実行 アイコンが無効になります。
タスクを手動で実行するには、[ライブ エディター] タブで
[セクションの実行] ボタンをクリックします。
セクションの自動実行を有効にするには、自動実行
アイコンをクリックします。アイコンが更新され、有効状態が表示されます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)