-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Bug fixes for Dataset.reduce() and n-dimensional cumsum/cumprod #2156
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
Fixes GH1470, "Dataset.mean drops coordinates"
Fixes a bug where non-scalar data-variables that did not include the
aggregated dimension were not properly reduced:
Previously::
>>> ds = Dataset({'x': ('a', [2, 2]), 'y': 2, 'z': ('b', [2])})
>>> ds.var('a')
<xarray.Dataset>
Dimensions: (b: 1)
Dimensions without coordinates: b
Data variables:
x float64 0.0
y float64 0.0
z (b) int64 2
Now::
>>> ds.var('a')
<xarray.Dataset>
Dimensions: (b: 1)
Dimensions without coordinates: b
Data variables:
x int64 0
y int64 0
z (b) int64 0
Finally, adds support for n-dimensional cumsum() and cumprod(), reducing
over all dimensions of an array. (This was necessary as part of the above fix.)
xarray/tests/test_duck_array_ops.py
Outdated
| def test_cumprod_2d(): | ||
| inputs = np.array([[1, 2], [3, 4]]) | ||
|
|
||
| expected = np.array([[1, 2], [3, 2*3*4]]) |
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.
E226 missing whitespace around arithmetic operator
xarray/core/dataset.py
Outdated
| keep_attrs=keep_attrs, | ||
| allow_lazy=allow_lazy, | ||
| **kwargs) | ||
| # drop other data_vars |
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.
errant comment?
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.
This was intentional, but I don't think it actually adds much value.
Fixes GH1470, "Dataset.mean drops coordinates"
Fixes a bug where non-scalar data-variables that did not include the
aggregated dimension were not properly reduced:
Finally, adds support for n-dimensional cumsum() and cumprod(), reducing
over all dimensions of an array. (This was necessary as part of the above fix.)
whats-new.rstfor all changes andapi.rstfor new API (remove if this change should not be visible to users, e.g., if it is an internal clean-up, or if this is part of a larger project that will be documented later)