-
Notifications
You must be signed in to change notification settings - Fork 35
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
add support for pl$concat(<LazyFrame>, . . . ) + add to_supertypes
auto casting
#407
Conversation
to_supertypes
auto casting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, the Rust side looks good but I have several comments on the R side because for now this doesn't match entirely the behavior of py-polars
Co-authored-by: Etienne Bacher <52219252+etiennebacher@users.noreply.github.com>
@etiennebacher I think we have addressed all first round of comments. |
Thanks, I think this should be good but I'll just do some tweaks in docs and fix typos |
closes #386
extras:
allow syntax
pl$concat(. . .)
and not onlypl$concat(list(. . .))
, this is matches behavoir for pl$DataFrame and $select().to facility unit testing also implemented
<DataFrame>$n_chunks()
to count chunksadd robj_to! DataFrame and LazyFrame
non-breaking upgrades to internal functions unpack_list() [skip unpack if these classes] + get_err_ctx() [pick only this context type] + Plain_err() [allow multiline txt input]
minor deviation from py-polars
This PR deviate slightly from py-polars pl.concat which is a quite verbose implementation:
how = "align" is not implemented (it could be but it is just another task.)
how = "xyz_releaxed" are just accessed directly via arg
to_supertypes
which will cast differing types to any shared supertype.r-polars do support
to_supertypes
also for concat Series, py-polars has not implemented that. Maybe that is why they don't just exposeto_supertypes
.to_supertypes = TRUE
is like R wherec(1, "b")
yields[1] "1" "b"
andto_supertypes = FALSE
will throw errors if not exactly the same type.