-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
DEPR: unused 'errors' keyword in where, mask #44294
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
jbrockmendel
commented
Nov 2, 2021
•
edited
Loading
edited
- closes #xxxx
- tests added / passed
- Ensure all linting tests pass, see here for how to run them
- whatsnew entry
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 @jbrockmendel
pandas/core/generic.py
Outdated
else: | ||
errors = "raise" |
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.
not needed?
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.
good catch, will update
): | ||
""" | ||
Equivalent to public method `where`, except that `other` is not | ||
applied as a function even if callable. Used in __setitem__. | ||
""" | ||
inplace = validate_bool_kwarg(inplace, "inplace") | ||
|
||
if errors is not lib.no_default: |
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.
any reason not to use the deprecate_kwarg
decorator?
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 think with the decorator the warning message would be about _where instead of where/mask
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 assume that would need to use the decorator on all 4 of the public methods instead of just once here?
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.
either way works, yah
@@ -1163,7 +1160,6 @@ def where(self, other, cond, errors="raise") -> list[Block]: | |||
assert cond.ndim == self.ndim | |||
assert not isinstance(other, (ABCIndex, ABCSeries, ABCDataFrame)) | |||
|
|||
assert errors in ["raise", "ignore"] |
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.
we are no longer raising on invalid errors
value, but this was already not a correct user facing ValueError/TypeError. so maybe just removing is fine and allowing any value/type for errors is ok?
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.
you mean remove this line but not do the rest of this PR?
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 mean that if we wanted to retain the validation it would now need to be higher up the stack but also probably ok that the errors parameter is no longer validated?
Co-authored-by: Simon Hawkins <[email protected]>
thanks @jbrockmendel and @simonjayhawkins |
) Co-authored-by: jbrockmendel <[email protected]>