Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joins between dataframes and nil init of dataseries #110

Merged
merged 9 commits into from
Aug 2, 2019

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 :)

@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