Skip to content

ENH/INT: libpandas refactor #11970

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

Closed
jreback opened this issue Jan 6, 2016 · 7 comments
Closed

ENH/INT: libpandas refactor #11970

jreback opened this issue Jan 6, 2016 · 7 comments
Labels
Enhancement Internals Related to non-user accessible pandas implementation Performance Memory or execution speed performance

Comments

@jreback
Copy link
Contributor

jreback commented Jan 6, 2016

xref #11960

Create libpandas to support current user-facing API and container API (currently only numpy).

  • ImmutableArray, single immutable dtyped container with a pandas.DataType dtype mirroring numpy/python scalars as well as current pandas extension types (Categorical, datetime w/tz), integer/boolean NA support, future types (string w/encoding, var-len), maybe ragged array etc.
    • cached-properties:
      • isnull/notnull
      • is_monotonic_increasing/is_monotonic_decreasing
    • methods:
      • indexing getitem ops (positional, slicing, fancy)
  • Array - mutable sub-class of ImmutableArray
    • cached-properties above are now just properties
    • indexing supports setitem as well
  • Table - ordered-dict-like container of Array
@jreback jreback added Enhancement Performance Memory or execution speed performance Internals Related to non-user accessible pandas implementation labels Jan 6, 2016
@jreback jreback added this to the Someday milestone Jan 6, 2016
@jreback
Copy link
Contributor Author

jreback commented Jan 6, 2016

cc @wesm

@nickeubank
Copy link
Contributor

@jreback @wesm I see this is xref'd to the copy on write PRs, but I'm not quite clear on how they relate -will this include copy-on-write behavior instead of the SettingOnACopy error?

Also, will it obviate anything added through #11500 / should I stop working on that?

@shoyer
Copy link
Member

shoyer commented Jan 13, 2016

@nickeubank This is a proposed major refactor of pandas internals, which would indeed remove the need for #11500. Probably best to take a break on that for now, though I suppose it depends on how close you are -- this refactor will take quite some time :).

@nickeubank
Copy link
Contributor

@shoyer OK, thanks for heads up. I'm not quite clear on how far I am... I think all the core components are in place but I am still figuring out how many edge-case problems are lurking in the tests that still fail.

Any chance you could re-open #11500? I may play with it a little more, but won't spend much time on it and will probably close if doesn't look like I'm really close. Just happy will make it into next version! :)

@shoyer
Copy link
Member

shoyer commented Jan 13, 2016

You should have permissions to reopen #11500 yourself. If not, we can take
care of that for you.

On Wed, Jan 13, 2016 at 11:52 AM, Nick Eubank [email protected]
wrote:

@shoyer https://github.com/shoyer OK, thanks for heads up. I'm not
quite clear on how far I am... I think all the core components are in place
but I am still figuring out how many edge-case problems are lurking in the
tests that still fail.

Any chance you could re-open #11500
#11500? I may play with it a
little more, but won't spend much time on it and will probably close if
doesn't look like I'm really close. Just happy will make it into next
version! :)


Reply to this email directly or view it on GitHub
#11970 (comment).

@nickeubank
Copy link
Contributor

can't seem to find -- used to be button at bottom, right? not there now, and pushes don't propagate, even after rebasing.

@jreback
Copy link
Contributor Author

jreback commented Jan 1, 2020

a lot of this is already happening in various forms, closing.

@jreback jreback closed this as completed Jan 1, 2020
@jreback jreback modified the milestones: 2.0, No action Jan 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Internals Related to non-user accessible pandas implementation Performance Memory or execution speed performance
Projects
None yet
Development

No branches or pull requests

4 participants