ColumnwiseCombine[{tab1,…}ckey]
Tabularオブジェクト tab1,…を,各 tabiからのキー ckey を持つ列の値が等しいすべての行を組み合せて結合することによって結合する.
ColumnwiseCombine[{tab1,…}{ckey1,ckey2,…}]
キー ckeyjを持つすべての列の値が等しい行を組み合せる.
ColumnwiseCombine[{tab1ckey1,tab2ckey2,…}]
tabiのキー ckeyiが共通の値を持つ行を結合する.
ColumnwiseCombine[<|p1tab1,p2tab2,…|>]
ExtendedKey[pi,ckeyij]を使って結果の tabiに列キー ckeyijをプレフィックスとして付加する.
ColumnwiseCombine[<|p1tab1,p2tab2,…|>tfun]
tfun[<|p1tab1[j1], p2tab2[j2], …|>]がすべての 1≤j1≤Length[tab1], 1≤j2≤Length[tab2], …に対してTrue となるすべての行の組合せの結合された行含む.
ColumnwiseCombine[tabs,required]
必要に応じて他のTabularオブジェクトのすべての欠落要素の行と組み合せて,required で指定されたTabularオブジェクトのすべての行を含める.
ColumnwiseCombine
ColumnwiseCombine[{tab1,…}ckey]
Tabularオブジェクト tab1,…を,各 tabiからのキー ckey を持つ列の値が等しいすべての行を組み合せて結合することによって結合する.
ColumnwiseCombine[{tab1,…}{ckey1,ckey2,…}]
キー ckeyjを持つすべての列の値が等しい行を組み合せる.
ColumnwiseCombine[{tab1ckey1,tab2ckey2,…}]
tabiのキー ckeyiが共通の値を持つ行を結合する.
ColumnwiseCombine[<|p1tab1,p2tab2,…|>]
ExtendedKey[pi,ckeyij]を使って結果の tabiに列キー ckeyijをプレフィックスとして付加する.
ColumnwiseCombine[<|p1tab1,p2tab2,…|>tfun]
tfun[<|p1tab1[j1], p2tab2[j2], …|>]がすべての 1≤j1≤Length[tab1], 1≤j2≤Length[tab2], …に対してTrue となるすべての行の組合せの結合された行含む.
ColumnwiseCombine[tabs,required]
必要に応じて他のTabularオブジェクトのすべての欠落要素の行と組み合せて,required で指定されたTabularオブジェクトのすべての行を含める.
詳細とオプション
- ColumnwiseCombineは,通常,いくつかのTabularオブジェクトを組み合せて一つにする際に使われる.
- ColumnwiseCombineは,2つのTabularオブジェクト tab1と tab2については事実上SQL JOINである.
- {tab1,…,tabn}から行を要求する指定 required には以下が含まれる.
-
{} または "Inner" マッチがある行だけを含める Range[n] または "Outer" すべての表形式のすべての行を含める 1 または "Left" 最初の表形式のすべての行を含める n または "Right" 最後の表形式のすべての行を含める {i1,i2,…} tabii,tabi2,… からのすべての行を含める {pi1,pi2,…} 表形式の識別にプレフィックスを使う - ColumnwiseCombine[p1tab1,p2tab2,…|>(True&)]はクロス結合を与える.
例題
すべて開く すべて閉じる例 (4)
{tab1 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], tab2 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> TypeSpecifier["Time"]["Integer64", "Instant", -6.]]],
"KeyColumns" -> None, "Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" ->
{4, {{{43200000000000, 50400000000000, 57600000000000, 64800000000000}, {}, None}},
None}, "ElementType" -> "Time"["Integer64", "Instant", -6.],
"CachedOriginalExpression" -> {TimeObject[{6, 0, 0.}, "Instant", -6.],
TimeObject[{8, 0, 0}, "Instant", -6.], TimeObject[{10, 0, 0}, "Instant", -6.],
TimeObject[{12, 0, 0}, "Instant", -6.]}]]}}]]]]};ColumnwiseCombine[{tab1, tab2} -> "a"]3つのTabularオブジェクトで列"a"と列"b"が一致する行を組み合せる:
{tab1, tab2, tab3} =
{Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"e" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 2, 5}, "orand"}, {}, None},
"ElementType" -> "String"]], TabularColumn[Association["Data" -> {{5, 6}, {}, None},
"ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}]ColumnwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}, "Outer"]3つのTabularオブジェクトの列"a"が一致する行を,プレフィックスを使って列"b"の衝突を避けて組み合せる:
{tab1, tab2, tab3} =
{Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"e" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 2, 5}, "orand"}, {}, None},
"ElementType" -> "String"]], TabularColumn[Association["Data" -> {{5, 6}, {}, None},
"ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2, "γ" -> tab3|> -> "a"]ColumnwiseCombine[<|"α" -> tab1 -> "a", "β" -> tab2 -> "a", "γ" -> tab3 -> "a"|>]tab1 の列"c"と tab3 の列"b"がマッチする行の任意の組合せを含める:
{tab1 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], tab2 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 8, 10}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], tab3 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"e" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 8}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{5, 6}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2, "γ" -> tab3|> -> Function[#α["c"] === #γ["b"]]]スコープ (17)
一致するキー (2)
tab1 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]];tab2 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]];ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}]ColumnwiseCombine[{tab1, tab2} -> {"b", "a"}]tab1の列 "a"と列"b"および tab2の列"A"と列"B"のすべての値が一致するすべての行の組合せを与える:
tab1 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "BackendData" ->
Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]];tab2 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["A" -> Association["ElementType" -> "Integer64"],
"B" -> Association["ElementType" -> "Integer64"],
"D" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 2, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 2, 4, 6}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 11, 10, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]];ColumnwiseCombine[{tab1 -> {"a", "b"}, tab2 -> {"A", "B"}}]"a"および"B"と"b"および"A"に一致する値を含む行の組合せは存在しない:
ColumnwiseCombine[{tab1 -> {"a", "b"}, tab2 -> {"B", "A"}}]tab1 の列"a"と tab2の列"A"および列"B"が一致す列の組合せは一つある:
ColumnwiseCombine[{tab1 -> {"a", "a"}, tab2 -> {"A", "B"}}]{aa3 = {tab1[3, "a"], tab1[3, "a"]}, AB2 = {tab2[2, "A"], tab2[2, "B"]}, aa3 == AB2}必須の行 (8)
{tab1, tab2} = { Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};combi = ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, "Inner"]これはデフォルトであり,tab1 あるいは tab2 からのすべての行を必要としないことに等しい:
combi === ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}] === ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, {}]tab1 と tab2 の両方からのすべての行のインスタンスを含む.一致するものがなければ,値は欠落しているものとして埋められる:
{tab1, tab2} = { Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};combo = ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, "Outer"]combo === ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, {1, 2}]{2,1}と指定すると,tab2 からの一致しない行は tab1 からのそれの前に含まれる:
ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, {2, 1}]{tab1, tab2} = { Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};combl = ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, {1}]tab1 はリストの左端なので,指定に"Left"を使っても同じである:
combl === ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, "Left"]{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};combr = ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, {2}]指定に"Right"を使用することは,tab1 がリストの一番左にあるため,等しい:
combr === ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}, "Right"]列"a"の値が一致する3つのTabularオブジェクトからの行の組合せのみを含める:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};combi = ColumnwiseCombine[tabs -> {"a"}, "Inner"]combi === ColumnwiseCombine[tabs -> "a"] === ColumnwiseCombine[tabs -> "a", {}]3つのTabularオブジェクトからのすべての行のインスタンスを含める:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};combo = ColumnwiseCombine[tabs -> {"a"}, "Outer"]combo === ColumnwiseCombine[tabs -> "a", {1, 2, 3}]3つのTabularオブジェクトの必須行に対する可能なすべての指定の結果を表示する:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};possible = Permutations[{1, 2, 3}, {0, 3}]Map[Labeled[ColumnwiseCombine[tabs -> "a", #], #]&, possible]一致するものがない場合,"Outer"を使用するとTabularオブジェクトが効果的に積み重ねられる:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["c" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["e" -> Association["ElementType" -> "Integer64"],
"f" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};combo = ColumnwiseCombine[tabs -> Function[False], "Outer"]これは,Joinを使うことに等しい:
Join@@tabsキーのプリフィックスと衝突 (2)
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> "a"]値が一致しない列"b" との衝突が発生するため,Associationで指定されたキープリフィックスを使用する必要がある:
ColumnwiseCombine[{tab1, tab2} -> "a"]一致する列名が特定のTabularオブジェクトで指定されている場合は,一致する列にはプリフィックス名が含まれる:
ColumnwiseCombine[<|"α" -> tab1 -> "a", "β" -> tab2 -> "a"|>]列"b"の値が一致する行の組合せを結合する2つのTabularオブジェクトのすべての行を含める:
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> "b", "Outer"]一致とマージを行う列と,一致のみを行う列を組み合わせて使用できる:
ColumnwiseCombine[<|"α" -> tab1 -> "b", "β" -> tab2 -> "b"|> -> "a"]一致する列名が特定のTabularオブジェクトで指定されている場合,一致する列にはプリフィックス名が含まれ,一致しない部分は要素が欠落する:
ColumnwiseCombine[<|"α" -> tab1 -> "b", "β" -> tab2 -> "b"|> -> "a", "Outer"]テスト関数の一致 (5)
3つのTabularオブジェクトのクロス結合(行の任意の組合せが一致とみなされて含まれる)を実行する:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["c" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["e" -> Association["ElementType" -> "Integer64"],
"f" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};cj = ColumnwiseCombine[tabs -> Function[True]]この場合,すべての行が含まれるため,必要な行の指定をしても違いは出ない:
cj === ColumnwiseCombine[tabs -> Function[True], "Outer"]tab1 の列"a"または tab2 の列"c" の値が同じであるように指定する:
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["c" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};comb = ColumnwiseCombine[{tab1, tab2} -> Function[#[[1]]["a"] === #[[2]]["c"]]]comb === ColumnwiseCombine[{tab1 -> "a", tab2 -> "c"}]この関数は,行の可能な組合せごとに1つの引数を取得する.tab1 の行 i と tab2 の行 j の場合,引数はAssociationオブジェクトのリスト,{Normal[tab1[i]],Normal[tab2[j]]}である:
ColumnwiseCombine[{tab1, tab2} -> Function[Echo[#];#[[1]]["a"] === #[[2]]["c"]]]Applyを使用すると,関数は2つの引数を取得し,位置パラメータが使用できる:
ColumnwiseCombine[{tab1, tab2} -> Apply[Function[#1["a"] === #2["c"]]]]最初の引数が連想として指定されると,関数はAssociation引数を取得する:
ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> Function[Echo[#];#α["a"] === #β["c"]]]列"a"の値が同じで列"b"の値の長さが同じである行の組合せを求める:
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]]};comb = ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> Function[(#α["a"] === #β["a"]) && (StringLength[#α["b"]] === StringLength[#β["b"]])]]列"a"の値の偶奇性が列"b"の値と逆になる行の組合せを求める:
{tab1, tab2} = { Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "BackendData" ->
Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 6, 8}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]};comb = ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> Function[EvenQ[#α["a"]] === EvenQ[#β["a"]] === OddQ[#α["b"]] === OddQ[#β["b"]]]]comb = ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> Function[EvenQ[#α["a"]] === EvenQ[#β["a"]] === OddQ[#α["b"]] === OddQ[#β["b"]]], "Outer"]tab1 と tab2 の列"a"と tab1 の列"c"および tab3 の列"b"に一致する行の組合せをすべて含める:
tabs = <|"α" -> Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"c" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 5, 6}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{7, 8, 9}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], "β" -> Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{2, 4, 8, 10}, {}, None},
"ElementType" -> "Integer64"]], TabularColumn[Association[
"Data" -> {{9, 10, 11, 12}, {}, None}, "ElementType" -> "Integer64"]]}}]]]], "γ" -> Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"],
"e" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{4, 8}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{5, 6}, {}, None}, "ElementType" -> "Integer64"]]}}]]]]|>;ColumnwiseCombine[tabs -> Function[#α["a"] === #β["a"] && #α["c"] === #γ["b"]]]ColumnwiseCombine[tabs -> Function[#α["a"] === #β["a"] && #α["c"] === #γ["b"]], "Outer"]アプリケーション (2)
インポートされた国データの表のデータとWolframの"Country"実体データを比較する:
imported = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["CountryCode" -> Association["ElementType" -> "String"],
"latitude" -> Association["ElementType" -> "Real64"],
"longitude" -> Association["ElementType" -> "Real64"],
"name" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, {0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24,
26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66,
68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140,
142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174,
176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208,
210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242,
244, 246, 248, 250, 252, 254, 256, 258, 260, 262, 264, 266, 268, 270, 272, 274, 276,
278, 280, 282, 284, 286, 288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310,
312, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330, 332, 334, 336, 338, 340, 342,
344, 346, 348, 350, 352, 354, 356, 358, 360, 362, 364, 366, 368, 370, 372, 374, 376,
378, 380, 382, 384, 386, 388, 390, 392, 394, 396, 398, 400, 402, 404, 406, 408, 410,
412, 414, 416, 418, 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444,
446, 448, 450, 452, 454, 456, 458, 460, 462, 464, 466, 468, 470, 472, 474, 476, 478,
480, 482, 484, 486, 488}, "ADAEAFAGAIALAMANAOAQARASATAUAWAZBABBBDBEBFBGBHBIBJBMBNBOBR\
BSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGG\
HGIGLGMGNGPGQGRGSGTGUGWGYGZHKHMHNHRHTHUIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRKWKYKZLALBLCLILK\
LRLSLTLULVLYMAMCMDMEMGMHMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZNCNENFNGNINLNONPNRNUNZOMPAPEPFPGPHPKPLPMPNP\
RPSPTPWPYQARERORSRURWSASBSCSDSESGSHSISJSKSLSMSNSOSRSTSVSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUS\
UYUZVAVCVEVGVIVNVUWFWSXKYEYTZAZMZW"}, {}, DataStructure["BitVector",
{"Data" -> ByteArray["/////////////////////////+///////////////w=="],
"Capacity" -> 245, "BitCount" -> 244}]}, "ElementType" -> "String",
"CachedOriginalExpression" -> {"AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO",
"AQ", "AR", "AS", "AT", "AU", "AW", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH",
"BI", "BJ", "BM", "BN", "BO", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC",
"CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CX",
"CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES",
"ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH",
"GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "GZ", "HK",
"HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS",
"IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW",
"KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA",
"MC", "MD", "ME", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS",
"MT", "MU", "MV", "MW", "MX", "MY", "MZ", Missing["NotAvailable"], "NC", "NE", "NF",
"NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH",
"PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU",
"RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN",
"SO", "SR", "ST", "SV", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL",
"TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ",
"VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "XK", "YE", "YT", "ZA", "ZM",
"ZW"}]], TabularColumn[Association["Data" -> {{42.546245, 23.424076, 33.93911,
17.060816, 18.220554, 41.153332, 40.069099, 12.226079, -11.202692, -75.250973,
-38.416097, -14.270972, 47.516231, -25.274398, 12.52111, 40.143105, 43.915886,
13.193887, 23.684994, 50.503887, 12.238333, 42.733883, 25.930414, -3.373056, 9.30769,
32.321384, 4.535277, -16.290154, -14.235004, 25.03428, 27.514162, -54.423199,
-22.328474, 53.709807, 17.189877, 56.130366, -12.164165, -4.038333, 6.611111,
-0.228021, 46.818188, 7.539989, -21.236736, -35.6 ... 676, 21.005859,
105.318756, 29.873888, 45.079162, 160.156194, 55.491977, 30.217636, 18.643501,
103.819836, -10.030696, 14.995463, 23.670272, 19.699024, -11.779889, 12.457777,
-14.452362, 46.199616, -56.027783, 6.613081, -88.89653, 38.996815, 31.465866,
-71.797928, 18.732207, 69.348557, 0.824782, 100.992541, 71.276093, -171.855881,
125.727539, 59.556278, 9.537499, -175.198242, 35.243322, -61.222503, 177.64933,
120.960515, 34.888822, 31.16558, 32.290275, Missing["NotAvailable"], -95.712891,
-55.765835, 64.585262, 12.453389, -61.287228, -66.58973, -64.639968, -64.896335,
108.277199, 166.959158, -177.156097, -172.104629, 20.902977, 48.516388, 45.166244,
22.937506, 27.849332, 29.154857}]], TabularColumn[
Association["Data" -> {{2, {0, 7, 27, 38, 57, 65, 72, 79, 99, 105, 115, 124, 138, 145,
154, 159, 169, 191, 199, 209, 216, 228, 236, 243, 250, 255, 262, 268, 275, 281, 288,
294, 307, 315, 322, 328, 334, 357, 368, 392, 408, 419, 433, 445, 450, 458, 463, 471,
481, 485, 495, 511, 517, 531, 538, 546, 553, 561, 579, 586, 593, 600, 605, 619, 626,
631, 639, 646, 650, 683, 693, 706, 712, 717, 731, 738, 745, 758, 766, 771, 780, 789,
795, 801, 811, 828, 834, 878, 887, 891, 904, 910, 920, 929, 962, 970, 977, 982, 989,
998, 1005, 1011, 1022, 1027, 1057, 1061, 1065, 1072, 1077, 1083, 1090, 1096, 1101,
1106, 1116, 1124, 1132, 1139, 1160, 1171, 1182, 1188, 1202, 1212, 1216, 1223, 1234,
1247, 1256, 1263, 1270, 1279, 1289, 1295, 1300, 1307, 1313, 1320, 1330, 1340, 1356,
1373, 1377, 1392, 1400, 1405, 1429, 1439, 1449, 1459, 1464, 1473, 1481, 1487, 1493,
1501, 1511, 1518, 1531, 1536, 1550, 1557, 1566, 1577, 1583, 1588, 1593, 1597, 1608,
1612, 1618, 1622, 1638, 1654, 1665, 1673, 1679, 1704, 1720, 1731, 1754, 1762, 1767,
1775, 1780, 1788, 1795, 1801, 1807, 1813, 1825, 1840, 1850, 1855, 1861, 1870, 1882,
1890, 1912, 1920, 1932, 1942, 1949, 1956, 1964, 1988, 1999, 2004, 2013, 2037, 2041,
2068, 2072, 2080, 2090, 2097, 2108, 2120, 2127, 2132, 2138, 2157, 2163, 2169, 2177,
2184, 2190, 2217, 2230, 2237, 2247, 2259, 2291, 2300, 2322, 2341, 2348, 2355, 2372,
2377, 2383, 2388, 2395, 2407, 2413, 2421}, "AndorraUnited Arab \
EmiratesAfghanistanAntigua and BarbudaAnguillaAlbaniaArmeniaNetherlands \
AntillesAngolaAntarcticaArgentinaAmerican SamoaAustriaAustraliaArubaAzerbaijanBosnia and \
HerzegovinaBarbadosBangladeshBelgiumBurkina \
FasoBulgariaBahrainBurundiBeninBermudaBruneiBoliviaBrazilBahamasBhutanBouvet \
IslandBotswanaBelarusBelizeCanadaCocos [Keeling] IslandsCongo [DRC]Central African RepublicCongo \
[Republic]SwitzerlandCôte d'IvoireCook IslandsChileCameroonChinaColombiaCosta RicaCubaCape \
VerdeChristmas IslandCyprusCzech RepublicGermanyDjiboutiDenmarkDominicaDominican \
RepublicAlgeriaEcuadorEstoniaEgyptWestern SaharaEritreaSpainEthiopiaFinlandFijiFalkland Islands \
[Islas Malvinas]MicronesiaFaroe IslandsFranceGabonUnited KingdomGrenadaGeorgiaFrench \
GuianaGuernseyGhanaGibraltarGreenlandGambiaGuineaGuadeloupeEquatorial GuineaGreeceSouth Georgia and \
the South Sandwich IslandsGuatemalaGuamGuinea-BissauGuyanaGaza StripHong KongHeard Island and \
McDonald IslandsHondurasCroatiaHaitiHungaryIndonesiaIrelandIsraelIsle of ManIndiaBritish Indian \
Ocean \
TerritoryIraqIranIcelandItalyJerseyJamaicaJordanJapanKenyaKyrgyzstanCambodiaKiribatiComorosSaint \
Kitts and NevisNorth KoreaSouth KoreaKuwaitCayman IslandsKazakhstanLaosLebanonSaint \
LuciaLiechtensteinSri \
LankaLiberiaLesothoLithuaniaLuxembourgLatviaLibyaMoroccoMonacoMoldovaMontenegroMadagascarMarshall \
IslandsMacedonia [FYROM]MaliMyanmar [Burma]MongoliaMacauNorthern Mariana \
IslandsMartiniqueMauritaniaMontserratMaltaMauritiusMaldivesMalawiMexicoMalaysiaMozambiqueNamibiaNew \
CaledoniaNigerNorfolk IslandNigeriaNicaraguaNetherlandsNorwayNepalNauruNiueNew \
ZealandOmanPanamaPeruFrench PolynesiaPapua New GuineaPhilippinesPakistanPolandSaint Pierre and \
MiquelonPitcairn IslandsPuerto RicoPalestinian \
TerritoriesPortugalPalauParaguayQatarRéunionRomaniaSerbiaRussiaRwandaSaudi ArabiaSolomon \
IslandsSeychellesSudanSwedenSingaporeSaint HelenaSloveniaSvalbard and Jan MayenSlovakiaSierra \
LeoneSan MarinoSenegalSomaliaSurinameSão Tomé and PríncipeEl SalvadorSyriaSwazilandTurks and Caicos \
IslandsChadFrench Southern \
TerritoriesTogoThailandTajikistanTokelauTimor-LesteTurkmenistanTunisiaTongaTurkeyTrinidad and \
TobagoTuvaluTaiwanTanzaniaUkraineUgandaU.S. Minor Outlying IslandsUnited \
StatesUruguayUzbekistanVatican CitySaint Vincent and the GrenadinesVenezuelaBritish Virgin \
IslandsU.S. Virgin IslandsVietnamVanuatuWallis and FutunaSamoaKosovoYemenMayotteSouth \
AfricaZambiaZimbabwe"}, {}, None}, "ElementType" -> "String"]]}}]]]];countryData = Tabular[EntityValue["Country", {"CountryCode", "Name", "Population", "Area"}, "PropertyAssociation"]]comb = ColumnwiseCombine[<|"imported" -> imported, "CountryData" -> countryData|> -> Function[SameQ[#imported["CountryCode"], #CountryData["CountryCode"]] && UnsameQ[#imported["name"], #CountryData["Name"]]]]comb[All, {ExtendedKey["CountryData", "CountryCode"], "Name", "name"}]ColumnwiseCombine[{countryData, imported} -> "CountryCode"]性別と搭乗クラスによる生存率を示す追加の列をタイタニック号のデータ集合の部分集合に加える:
titanic = Take[ResourceData["Sample Tabular Data: Titanic"], 1 ;; -1 ;; 100]rates = AggregateRows[titanic, "sc survival rate" -> Function[Mean[Boole[#survived]]], {"sex", "class"}]ColumnwiseCombine[{titanic, rates} -> {"sex", "class"}]特性と関係 (4)
一致するものがない場合,"Outer"を使用するとTabularオブジェクトが事実上結合される:
tabs = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 2, 3}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{-2, 0, 2, 4}, {}, None},
"ElementType" -> "Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["c" -> Association["ElementType" -> "Integer64"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{1, -1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["e" -> Association["ElementType" -> "Integer64"],
"f" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2, 0}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{-1, 0, 1}, {}, None}, "ElementType" ->
"Integer64"]]}}]]]]};combo = ColumnwiseCombine[tabs -> {}, "Outer"]これはJoinを使うことに等しい:
Join@@tabsTabularオブジェクトが2つだけで列の衝突がない場合,ColumnwiseCombineとJoinAcross は同じ操作を行う:
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]]};ColumnwiseCombine[{tab1, tab2} -> {"a", "b"}]JoinAcross[tab1, tab2, {"a", "b"}]キーが衝突する場合,JoinAcrossはキーの衝突関数を使う(デフォルトは左):
JoinAcross[tab1, tab2, {"a"}]JoinAcross[tab1, tab2, {"a"}, KeyCollisionFunction -> Function[{ExtendedKey["left", #], ExtendedKey["right", #]}]]ColumnwiseCombineキーがあると,キーの衝突はキープリフィックスがなければ許されない:
ColumnwiseCombine[{tab1, tab2} -> "a"]ColumnwiseCombine[<|left -> tab1, right -> tab2|> -> "a"]三項ColumnwiseCombineとネストしたJoinAcrossを比較する:
tab1 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]];tab2 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]];tab3 = Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"e" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 2, 5}, "orand"}, {}, None},
"ElementType" -> "String"]], TabularColumn[Association["Data" -> {{5, 6}, {}, None},
"ElementType" -> "Integer64"]]}}]]]];ColumnwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}, "Inner"]pairwiseCombine[tabs_ -> ckeys_, req_] := Fold[JoinAcross[#1, #2, ckeys, req] &, First[tabs], Rest[tabs]]列名が一貫しており,追加の行が必要ない場合,これはColumnwiseCombineと一致しする:
pairwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}, "Inner"]ColumnwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}, "Outer"]pairwiseCombine[{tab1, tab2, tab3} -> {"a", "b"}, "Outer"]ColumnwiseCombineは,事実上,行の外積である:
{tab1, tab2} = {Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{3, 1, 2}, {}, None}, "ElementType" -> "Integer64"]],
TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8}, "andorbut"}, {}, None},
"ElementType" -> "String"]]}}]]]], Tabular[Association["RawSchema" -> Association["ColumnProperties" ->
Association["a" -> Association["ElementType" -> "Integer64"],
"b" -> Association["ElementType" -> "String"],
"d" -> Association["ElementType" -> "Integer64"]], "KeyColumns" -> None,
"Backend" -> "WolframKernel"], "Options" -> {},
"BackendData" -> Association["ColumnData" -> DataStructure["ColumnTable",
{{TabularColumn[Association["Data" -> {{0, 1, 1, 2}, {}, None}, "ElementType" ->
"Integer64"]], TabularColumn[Association["Data" -> {{3, {0, 3, 5, 8, 11},
"nororbutand"}, {}, None}, "ElementType" -> "String"]],
TabularColumn[Association["Data" -> {{9, 10, 11, 12}, {}, None},
"ElementType" -> "Integer64"]]}}]]]]};testf = Function[#α["a"] === #β["a"] && StringLength[#α["b"]] === StringLength[#β["b"]]];
ColumnwiseCombine[<|"α" -> tab1, "β" -> tab2|> -> testf]Outerを使って行のどちらの組合せがTrueを与えるかを求める:
{n1, n2} = Normal[{tab1, tab2}]prod = Outer[testf[<|"α" -> #1, "β" -> #2|>]&, n1, n2]matches = Position[prod, True]列をマージしてTabularオブジェクトを作成する:
Tabular[MapApply[Join[n1[[#1]], n2[[#2]]]&, matches]]ExtendedKeyを使って同じ結果をColumnwiseCombineとして形成する:
extendKeys[p_, row_] := KeyMap[ExtendedKey[p, #]&, row];Tabular[MapApply[Join[extendKeys["α", n1[[#1]]], extendKeys["β", n2[[#2]]]]&, matches]]関連項目
関連するガイド
-
▪
- 表形式の変換
テキスト
Wolfram Research (2025), ColumnwiseCombine, Wolfram言語関数, https://reference.wolfram.com/language/ref/ColumnwiseCombine.html.
CMS
Wolfram Language. 2025. "ColumnwiseCombine." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ColumnwiseCombine.html.
APA
Wolfram Language. (2025). ColumnwiseCombine. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ColumnwiseCombine.html
BibTeX
@misc{reference.wolfram_2026_columnwisecombine, author="Wolfram Research", title="{ColumnwiseCombine}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ColumnwiseCombine.html}", note=[Accessed: 07-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_columnwisecombine, organization={Wolfram Research}, title={ColumnwiseCombine}, year={2025}, url={https://reference.wolfram.com/language/ref/ColumnwiseCombine.html}, note=[Accessed: 07-September-2026]}