27.13.5 PGXフレームの結合
join
機能を使用して、いずれかの列によって行が相関関係にある2つのフレームを結合できます。これにより、特定の列について行間の等価性をチェックすることで、フレームを結合できます。
次のような2つのPgxFrames
があるとします:
//exampleFrame
+-------------------------------------------------------------------------------+
| name | age | salary | married | tax_rate | random | date_of_birth |
+-------------------------------------------------------------------------------+
| John | 27 | 4133300.0 | true | 11.0 | 123456782 | 1985-10-18 |
| Albert | 23 | 5813000.5 | false | 12.0 | 124343142 | 2000-01-14 |
| Heather | 28 | 1.0130302E7 | true | 10.5 | 827520917 | 1985-10-18 |
| Emily | 24 | 9380080.5 | false | 13.0 | 128973221 | 1910-07-30 |
| "D'Juan" | 27 | 1582093.0 | true | 11.0 | 92384 | 1955-12-01 |
+-------------------------------------------------------------------------------+
//moreInfoFrame
+---------------------------------------+
| name | title |
+---------------------------------------+
| John | Software Engineering Manager |
| Albert | Sales Manager |
| Emily | Operations Manager |
+---------------------------------------+
次の例では、join
メソッドをコールしてexampleFrame
とmoreInfoFrame
を結合しています。このAPIでは、name
列をjoinKeyColumn
として使用して、これら2つのフレームを結合しています。このAPIで指定されている列接頭辞は、leftFrame
とrightFrame
です。
opg4j> exampleFrame.join(moreInfoFrame, "name", "leftFrame", "rightFrame").print()
exampleFrame.join(moreInfoFrame, "name", "leftFrame", "rightFrame").print();
>>> example_frame.join(
... more_info_frame,
... join_key_column="name",
... left_prefix="leftFrame",
... right_prefix="rightFrame").print()
または、leftjoinKeyColumn
とrightjoinKeyColumn
を指定してこれらのフレームを結合することもできます。この場合、joinKeyColumn
は省略されます。
opg4j> exampleFrame.join(moreInfoFrame, "name", "name", "leftFrame", "rightFrame").print()
exampleFrame.join(moreInfoFrame, "name", "name", "leftFrame", "rightFrame").print();
>>> example_frame.join(
... more_info_frame,
... left_join_key_column="name",
... right_join_key_column="name",
... left_prefix="leftFrame",
... right_prefix="rightFrame").print()
結果となる結合されたフレームには、次に示すように、name
列が同じである行の、これら2つのフレームの列が含まれています。
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| leftFramename | leftFrameage | leftFramesalary | leftFramemarried | leftFrametax_rate | leftFramerandom | leftFramedate_of_birth | rightFramename | rightFrametitle |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| John | 27 | 4133300.0 | true | 11.0 | 123456782 | 1985-10-18 | John | Software Engineering Manager |
| Albert | 23 | 5813000.5 | false | 12.0 | 124343142 | 2000-01-14 | Albert | Sales Manager |
| Emily | 24 | 9380080.5 | false | 13.0 | 128973221 | 1910-07-30 | Emily | Operations Manager |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
親トピック: PgxFrameの表形式データ構造