-
-
Notifications
You must be signed in to change notification settings - Fork 142
allow callable in .loc #509
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
@@ -157,6 +157,7 @@ class _LocIndexerFrame(_LocIndexer): | |||
self, | |||
idx: IndexType | |||
| MaskType | |||
| Callable[[DataFrame], IndexType | MaskType | list[HashableT]] |
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.
Does pandas support callables for both index and columns? Might need to also add it to the tuple format.
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.
Does pandas support callables for both index and columns? Might need to also add it to the tuple format.
Yes. Question is whether I try to get this right now (and create some tests), or wait for a bug report. If you think I should add it now, let me know and I'll give it a shot.
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'm fine adding annotations as needed :) Only popped out because in one place a plain Callable is used and in the other place the argument/return type is specified.
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.
Happy to merge after the conflict with main is resolved
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.
should be done in fdf4e03
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'm fine adding annotations as needed :) Only popped out because in one place a plain Callable is used and in the other place the argument/return type is specified.
Yes, I saw that and decided not to try to fix it. The other issue is that we match on a Hashable
and any Callable
works there too.
Thanks @Dr-Irv ! |
.loc[]
#256test_frame.py:test_loc_callback()
This handles the original issue, and some examples that came up during the discussion in the issue, but may not handle all the cases where a
Callable
can be used in.loc
. Can always enhance based on further user reports.