65 references to JoinAlgorithm
Microsoft.Data.Analysis (16)
DataFrame.Join.cs (16)
45/// <param name="joinAlgorithm">The <see cref="JoinAlgorithm"/> to use.</param>
47public DataFrame Join(DataFrame other, string leftSuffix = "_left", string rightSuffix = "_right", JoinAlgorithm joinAlgorithm = JoinAlgorithm.Left)
50if (joinAlgorithm == JoinAlgorithm.Left)
78else if (joinAlgorithm == JoinAlgorithm.Right)
106else if (joinAlgorithm == JoinAlgorithm.FullOuter)
123else if (joinAlgorithm == JoinAlgorithm.Inner)
166public DataFrame Merge<TKey>(DataFrame other, string leftJoinColumn, string rightJoinColumn, string leftSuffix = "_left", string rightSuffix = "_right", JoinAlgorithm joinAlgorithm = JoinAlgorithm.Left)
331public DataFrame Merge(DataFrame other, string[] leftJoinColumns, string[] rightJoinColumns, string leftSuffix = "_left", string rightSuffix = "_right", JoinAlgorithm joinAlgorithm = JoinAlgorithm.Left)
345if (joinAlgorithm == JoinAlgorithm.Left || joinAlgorithm == JoinAlgorithm.Right)
347isLeftDataFrameRetained = (joinAlgorithm == JoinAlgorithm.Left);
357else if (joinAlgorithm == JoinAlgorithm.Inner)
370else if (joinAlgorithm == JoinAlgorithm.FullOuter)
Microsoft.Data.Analysis.Tests (49)
DataFrameTests.Join.cs (18)
28VerifyJoin(join, left, right, JoinAlgorithm.Left);
31join = left.Join(right, joinAlgorithm: JoinAlgorithm.Right);
36VerifyJoin(join, left, right, JoinAlgorithm.Right);
39join = left.Join(right, joinAlgorithm: JoinAlgorithm.FullOuter);
43VerifyJoin(join, left, right, JoinAlgorithm.FullOuter);
46join = left.Join(right, joinAlgorithm: JoinAlgorithm.Inner);
51VerifyJoin(join, left, right, JoinAlgorithm.Inner);
60VerifyJoin(join, left, right, JoinAlgorithm.Left);
63join = left.Join(right, joinAlgorithm: JoinAlgorithm.Right);
68VerifyJoin(join, left, right, JoinAlgorithm.Right);
71join = left.Join(right, joinAlgorithm: JoinAlgorithm.FullOuter);
75VerifyJoin(join, left, right, JoinAlgorithm.FullOuter);
78join = left.Join(right, joinAlgorithm: JoinAlgorithm.Inner);
82VerifyJoin(join, left, right, JoinAlgorithm.Inner);
85private void VerifyJoin(DataFrame join, DataFrame left, DataFrame right, JoinAlgorithm joinAlgorithm)
97if (joinAlgorithm == JoinAlgorithm.Left)
112else if (joinAlgorithm == JoinAlgorithm.Right)
127else if (joinAlgorithm == JoinAlgorithm.Inner)
DataFrameTests.Merge.cs (31)
29DataFrame merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Inner);
48VerifyMerge(merge, left, right, JoinAlgorithm.Left);
51merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Right);
56VerifyMerge(merge, left, right, JoinAlgorithm.Right);
59merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.FullOuter);
63VerifyMerge(merge, left, right, JoinAlgorithm.FullOuter);
66merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Inner);
71VerifyMerge(merge, left, right, JoinAlgorithm.Inner);
80VerifyMerge(merge, left, right, JoinAlgorithm.Left);
83merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Right);
88VerifyMerge(merge, left, right, JoinAlgorithm.Right);
91merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.FullOuter);
96VerifyMerge(merge, left, right, JoinAlgorithm.FullOuter);
99merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Inner);
103VerifyMerge(merge, left, right, JoinAlgorithm.Inner);
135[InlineData(10, 5, JoinAlgorithm.Left)]
136[InlineData(5, 10, JoinAlgorithm.Right)]
137public void TestMergeEdgeCases_LeftOrRight(int leftLength, int rightLength, JoinAlgorithm joinAlgorithm)
208DataFrame merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.Inner);
258DataFrame merge = left.Merge<int>(right, "Int", "Int", joinAlgorithm: JoinAlgorithm.FullOuter);
454var merge = left.Merge(right, new[] { "G1", "G2" }, new[] { "G1", "G2" }, joinAlgorithm: JoinAlgorithm.Right);
511var merge = left.Merge(right, new[] { "G1", "G2" }, new[] { "G1", "G2" }, joinAlgorithm: JoinAlgorithm.Inner);
569var merge = left.Merge(right, new[] { "G1", "G2" }, new[] { "G1", "G2" }, joinAlgorithm: JoinAlgorithm.FullOuter);
684var merge = left.Merge(right, new[] { "G1", "G2", "G3" }, new[] { "G1", "G2", "G3" }, joinAlgorithm: JoinAlgorithm.Right);
766private void VerifyMerge(DataFrame merge, DataFrame left, DataFrame right, JoinAlgorithm joinAlgorithm)
768if (joinAlgorithm == JoinAlgorithm.Left || joinAlgorithm == JoinAlgorithm.Inner)
784else if (joinAlgorithm == JoinAlgorithm.Right)
800else if (joinAlgorithm == JoinAlgorithm.FullOuter)
802VerifyMerge(merge, left, right, JoinAlgorithm.Left);
803VerifyMerge(merge, left, right, JoinAlgorithm.Right);