-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
BUG: fix+test groupby on empty DataArray raises StopIteration #3156
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
BUG: fix+test groupby on empty DataArray raises StopIteration #3156
Conversation
Hello @HasanAhmadQ7! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found: There are currently no PEP 8 issues detected in this Pull Request. Cheers! 🍻 Comment last updated at 2019-07-22 21:36:39 UTC |
41dc039
to
4365705
Compare
4365705
to
eecf4ae
Compare
Using groupby on an empty DataArray or Dataset raises StopIteration. It should raise a more meaningful error. Resolves: 3037
eecf4ae
to
39e58b2
Compare
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 @HasanAhmadQ7 , happy to have you as a contributor
Do you want to add this change to whatnew?
I also left a comment re an even friendlier error message
Then I'll merge tomorrow unless anyone else has comments
xarray/core/groupby.py
Outdated
@@ -232,6 +232,9 @@ def __init__(self, obj, group, squeeze=False, grouper=None, bins=None, | |||
raise TypeError('`group` must be an xarray.DataArray or the ' | |||
'name of an xarray variable or dimension') | |||
group = obj[group] | |||
if len(group) == 0: | |||
raise ValueError("Group must not be empty") |
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 could add the name of the group to the error message?
Adding the name of the group to the error message. Making the message more user friendly
include bug: pydata#3037 fix
@max-sixty I am delighted to be here. Thank you very much! I modified as per your comments, please let me know if there are further modifications . |
Co-Authored-By: Maximilian Roos <[email protected]>
Thanks @HasanAhmadQ7 ! |
* master: (68 commits) enable sphinx.ext.napoleon (pydata#3180) remove type annotations from autodoc method signatures (pydata#3179) Fix regression: IndexVariable.copy(deep=True) casts dtype=U to object (pydata#3095) Fix distributed.Client.compute applied to DataArray (pydata#3173) More annotations in Dataset (pydata#3112) Hotfix for case of combining identical non-monotonic coords (pydata#3151) changed url for rasterio network test (pydata#3162) to_zarr(append_dim='dim0') doesn't need mode='a' (pydata#3123) BUG: fix+test groupby on empty DataArray raises StopIteration (pydata#3156) Temporarily remove pynio from py36 CI build (pydata#3157) missing 'about' field (pydata#3146) Fix h5py version printing (pydata#3145) Remove the matplotlib=3.0 constraint from py36.yml (pydata#3143) disable codecov comments (pydata#3140) Merge broadcast_like docstrings, analyze implementation problem (pydata#3130) Update whats-new for pydata#3125 and pydata#2334 (pydata#3135) Fix tests on big-endian systems (pydata#3125) XFAIL tests failing on ARM (pydata#2334) Add broadcast_like. (pydata#3086) Better docs and errors about expand_dims() view (pydata#3114) ...
Using groupby on an empty DataArray or Dataset raises StopIteration. It should raise a more meaningful error.