feat(python): support Series
init from generator
#5411
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #5395.
Currently
Series
init requires full materialisation of generators/iterables, up-front. As we don't have the same costs relating to chunked-append as pandas, we can take the more memory-friendly approach of incremental materialisation followed by a final call torechunk
.Before: (don't actually do this - much more efficient to init 'range' directly)
After:
Also:
Ensure
Series
generated from pythonrange
object still respect the given integer dtype, if provided (was being ignored; always i64).Follow-up:
Offer generator support for
DataFrame
init; will take care of that later, in a separate PR.