Skip to content

Conversation

@AtharvaKhare
Copy link
Contributor

Fixes #58.

innerJoin, outerJoin, leftJoin, rightJoin are joins based on rowNames only. Since row names are unique, resulting code is bit simpler (and faster).

Other joins are with arbitary columns. It is possible to combine both of them, but it will make the code much more complex.

There are multiple tests added to handle edge cases. Some tests may seem repetitive, because of output of joins, but they are kept to highlight differences between different methods.

#() asDataSeries was not working - 9857c5c fixes it.

Duplicate column names are renamed to `_x` and `_y` respectively.
Also dded a private method to get output columns of a join operation.
Also added a `findAll: atColumn` and `findAllIndicesOf: atColumn` method to
gather rows with specific object at given column.

Note: The join operation does not sort keys.
`#() asDataSeries` used to fail.
Added relevant tests.
@AtharvaKhare
Copy link
Contributor Author

@olekscode Please review. Using individual commits to review will be much easier :)

@AtharvaKhare AtharvaKhare requested a review from olekscode July 17, 2019 04:28
@olekscode olekscode merged commit 95844d2 into PolyMathOrg:master Aug 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement joins (inner, outer, left, right)

2 participants