Skip to content
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

Ensure explicitly indexed arrays are preserved #3027

Merged
merged 4 commits into from
Jun 23, 2019

Conversation

shoyer
Copy link
Member

@shoyer shoyer commented Jun 17, 2019

Fixes #3009

Previously, indexing an ImplicitToExplicitIndexingAdapter object could directly return an ExplicitlyIndexed object, which could not be indexed normally, e.g., x[index] could result in an object that could not be indexed properly. This resulted in broken behavior with dask's new _meta attribute.

I'm pretty sure this fix is appropriate, but it does introduce two failing tests with xarray on dask master. In particular, there are now errors raised inside two tests from dask's blockwise_meta helper function:

>       return meta.astype(dtype)
E       AttributeError: 'ImplicitToExplicitIndexingAdapter' object has no attribute 'astype'

cc @mrocklin @pentschev

  • Tests added

Previously, indexing an ImplicitToExplicitIndexingAdapter object could directly
return an ExplicitlyIndexed object, which could not be indexed normally. This
resulted in broken behavior with dask's new `_meta` attribute.

This change almost but not entirely fixes xarray on dask master. There are
still errors raised inside two tests from dask's `blockwise_meta` helper
function:

>       return meta.astype(dtype)
E       AttributeError: 'ImplicitToExplicitIndexingAdapter' object has no attribute 'astype'
@mrocklin
Copy link
Contributor

I think that relaxing the astype constrain seems quite reasonable. I'll clean this up on the Dask side.

@mrocklin
Copy link
Contributor

Does the green check mark here mean that we're all good @shoyer ?

@shoyer
Copy link
Member Author

shoyer commented Jun 23, 2019

@mrocklin Yes, this appears to work :)

@shoyer shoyer merged commit 223a05f into pydata:master Jun 23, 2019
@shoyer shoyer deleted the explicitly-indexed-fix branch June 23, 2019 16:53
dcherian added a commit to dcherian/xarray that referenced this pull request Jun 24, 2019
* master: (31 commits)
  Add quantile method to GroupBy (pydata#2828)
  rolling_exp (nee ewm) (pydata#2650)
  Ensure explicitly indexed arrays are preserved (pydata#3027)
  add back dask-dev tests (pydata#3025)
  ENH: keepdims=True for xarray reductions (pydata#3033)
  Revert cmap fix (pydata#3038)
  Add "errors" keyword argument to drop() and drop_dims() (pydata#2994) (pydata#3028)
  More consistency checks (pydata#2859)
  Check types in travis (pydata#3024)
  Update issue templates (pydata#3019)
  Add pytest markers to avoid warnings (pydata#3023)
  Feature/merge errormsg (pydata#2971)
  More support for missing_value. (pydata#2973)
  Use flake8 rather than pycodestyle (pydata#3010)
  Pandas labels deprecation (pydata#3016)
  Pytest capture uses match, not message (pydata#3011)
  dask-dev tests to allowed failures in travis (pydata#3014)
  Fix 'to_masked_array' computing dask arrays twice (pydata#3006)
  str accessor (pydata#2991)
  fix safe_cast_to_index (pydata#3001)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Xarray test suite failing with dask-master
2 participants