home / github / issues

Menu
  • Search all tables
  • GraphQL API

issues: 260569191

This data as json

id node_id number title user state locked assignee milestone comments created_at updated_at closed_at author_association active_lock_reason draft pull_request body reactions performed_via_github_app state_reason repo type
260569191 MDU6SXNzdWUyNjA1NjkxOTE= 1592 groupby() fails with a stack trace when Dask 0.15.3 is used 9655353 closed 0     2 2017-09-26T10:15:46Z 2017-10-04T21:42:52Z 2017-10-04T21:42:52Z NONE      

Hi xarray team!

Our unit tests broke when Dask got updated to 0.15.3, after a quick investigation it became clear that groupby operation on an xarray Dataset fails with this Dask version.

The following example: ```python import xarray as xr import numpy as np import dask

def plus_one(da): return da + 1

print(xr.version) print(dask.version)

ds = xr.Dataset({ 'first': (['time', 'lat', 'lon'], np.array([np.eye(4, 8), np.eye(4, 8)])), 'second': (['time', 'lat', 'lon'], np.array([np.eye(4, 8), np.eye(4, 8)])), 'lat': np.linspace(-67.5, 67.5, 4), 'lon': np.linspace(-157.5, 157.5, 8), 'time': np.array([1, 2])}).chunk(chunks={'lat': 2, 'lon': 4})

ds_new = ds.groupby('time').apply(plus_one) Produces the following output when Dask 0.15.3 is used: 0.9.6 0.15.3 Traceback (most recent call last): File "/home/ccitbx/Development/dask_test/dask_test.py", line 20, in <module> ds_new = ds.groupby('time').apply(plus_one) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/groupby.py", line 617, in apply return self._combine(applied) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/groupby.py", line 621, in _combine applied_example, applied = peek_at(applied) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/utils.py", line 114, in peek_at peek = next(gen) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/groupby.py", line 616, in <genexpr> applied = (func(ds, kwargs) for ds in self._iter_grouped()) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/groupby.py", line 298, in _iter_grouped yield self._obj.isel({self._group_dim: indices}) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/dataset.py", line 1143, in isel new_var = var.isel(**var_indexers) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/variable.py", line 570, in isel return self[tuple(key)] File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/variable.py", line 400, in getitem values = self._indexable_data[key] File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/xarray/core/indexing.py", line 498, in getitem value = self.array[key] File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/dask/array/core.py", line 1222, in getitem index2 = normalize_index(index, self.shape) File "/home/ccitbx/miniconda3/envs/cate-new-dask/lib/python3.6/site-packages/dask/array/slicing.py", line 762, in normalize_index raise IndexError("Too many indices for array") IndexError: Too many indices for array ``` It works as expected when Dask < 0.15.3 is used.

I don't have enough understanding regarding what's really going on in Dask-land, so I leave it to you guys to open an issue in their Issue tracker if needed!

{
    "url": "https://api.github.com/repos/pydata/xarray/issues/1592/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  completed 13221727 issue

Links from other tables

  • 0 rows from issues_id in issues_labels
  • 2 rows from issue in issue_comments
Powered by Datasette · Queries took 321.238ms · About: xarray-datasette