-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
ENH: Float64Index now uses Float64Hashtable as a backend #6879
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
Conversation
think we need a vbench so can see perf impact of various operations getting of fairly long index |
yep i'm in the middle of it now :) |
@jreback do u mean slicing/getting with a frame/series or the index itself? |
probably both i htink |
I think u can test just with the index iirc that was the issue perf with the object based index was somewhat slow (not sure exactly what was slow - maybe more details on the issue) |
actually the op said index ops like 2 * index were slow it's an odd operation but then again maybe for a float index it's not (though u could simply convert to a series) maybe give a battery of tests and see what sticks out |
just timed that particular operation with a 1,000,000 element float64index ... same speed as raw numpy float64 .... comparing against master ... i'll add some arith ops in the bench |
i don't understand why it says failed .... it's passing on travis .. |
gr8 for sure will be faster for ops slicing I suspect might be the same though |
https://travis-ci.org/pydata/pandas some options thing failed the green is on the master run not local branch |
ah ok ... i'll stop asking questions about travis now, i promise |
master:
this PR:
|
everything's either the same or faster |
well a big +1 on that then! excellent so maybe add a doc note (in indexing.rst/Float64index section) that as of 0.14 it's now backed by a float index type otherwise looks good 2 me |
@jorisvandenbossche @TomAugspurger comments? |
@cpcloud I posted to the mailing as well |
cool thx! |
here's a comparison that's a little easier on the eyes:
|
@@ -1360,6 +1360,16 @@ Of course if you need integer based selection, then use ``iloc`` | |||
|
|||
dfir.iloc[0:5] | |||
|
|||
``Float64Index`` Backend |
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.
I would just make this a note in the float64index section. a don't really need a new section
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.
ok
merge when ready |
ENH: Float64Index now uses Float64Hashtable as a backend
@jreback this was marked for 1.0 i changed to 0.14.0 is that ok? |
yep |
Great stuff! |
closes #6471