html_url,issue_url,id,node_id,user,created_at,updated_at,author_association,body,reactions,performed_via_github_app,issue
https://github.com/pydata/xarray/issues/2215#issuecomment-396953390,https://api.github.com/repos/pydata/xarray/issues/2215,396953390,MDEyOklzc3VlQ29tbWVudDM5Njk1MzM5MA==,25231875,2018-06-13T14:16:19Z,2018-06-13T14:17:46Z,NONE,"@shoyer That did it.  Under pandas 0.22, the DataArrays in `aligned` are all NaNs.  I updated to pandas 0.23, and the non-NaN values were there as expected.  To double-check, I downgraded to 0.22 again and got all NaNs again.  ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,329438885
https://github.com/pydata/xarray/issues/2215#issuecomment-394758682,https://api.github.com/repos/pydata/xarray/issues/2215,394758682,MDEyOklzc3VlQ29tbWVudDM5NDc1ODY4Mg==,25231875,2018-06-05T15:42:15Z,2018-06-05T16:23:12Z,NONE,"I found a way to reproduce the error.  One of the MuliIndex levels on the DataArrays has NaNs in it.  If I remove that level, the correct values appear in the result.  Should the presence of that MultiIndex level cause this behavior?  

```
import string
import numpy as np
import xarray as xr

dims = (""x"", ""y"")
shape = (10, 5)
das = []
for j in (0, 1):
  data = np.full(shape, np.nan, dtype=""float64"")
  for i in range(shape[0]):
      data[i, i % shape[1]] = float(i)
  coords_d = {
      ""ints"": (""x"", range(j*shape[0], (j+1)*shape[0])),
      ""nans"": (""x"", np.array([np.nan] * shape[0], dtype=""float64"")),
      ""lower"": (""y"", list(string.ascii_lowercase[:shape[1]]))
  }
  da = xr.DataArray(data=data, dims=dims, coords=coords_d)
  da.set_index(append=True, inplace=True, x=[""ints"", ""nans""], y=[""lower""])
  das.append(da)
nonzeros_raw = [np.nonzero(~np.isnan(da)) for da in das]
print(""nonzeros_raw: "")
print(nonzeros_raw)
aligned = xr.align(*das, join=""outer"")
nonzeros_aligned = [np.nonzero(~np.isnan(da)) for da in aligned]
print(""nonzeros_aligned: "")
print(nonzeros_aligned)
assert nonzeros_raw[0].shape == nonzeros_aligned[0].shape
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,329438885
https://github.com/pydata/xarray/issues/2215#issuecomment-394769300,https://api.github.com/repos/pydata/xarray/issues/2215,394769300,MDEyOklzc3VlQ29tbWVudDM5NDc2OTMwMA==,25231875,2018-06-05T16:12:30Z,2018-06-05T16:12:30Z,NONE,"This is what I would expect to see returned by align():  

```
(<xarray.DataArray (x: 20, y: 5)>
 array([[ 0., nan, nan, nan, nan],
        [nan,  1., nan, nan, nan],
        [nan, nan,  2., nan, nan],
        [nan, nan, nan,  3., nan],
        [nan, nan, nan, nan,  4.],
        [ 5., nan, nan, nan, nan],
        [nan,  6., nan, nan, nan],
        [nan, nan,  7., nan, nan],
        [nan, nan, nan,  8., nan],
        [nan, nan, nan, nan,  9.],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan]])
 Coordinates:
 * x        (x) MultiIndex
 - ints     (x) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 - nans     (x) object nan nan nan nan nan nan nan nan nan nan nan nan nan ...
 * y        (y) object 'a' 'b' 'c' 'd' 'e', <xarray.DataArray (x: 20, y: 5)>
 array([[nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [ 0., nan, nan, nan, nan],
        [nan,  1., nan, nan, nan],
        [nan, nan,  2., nan, nan],
        [nan, nan, nan,  3., nan],
        [nan, nan, nan, nan,  4.],
        [ 5., nan, nan, nan, nan],
        [nan,  6., nan, nan, nan],
        [nan, nan,  7., nan, nan],
        [nan, nan, nan,  8., nan],
        [nan, nan, nan, nan,  9.]])
 Coordinates:
 * x        (x) MultiIndex
 - ints     (x) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 - nans     (x) object nan nan nan nan nan nan nan nan nan nan nan nan nan ...
 * y        (y) object 'a' 'b' 'c' 'd' 'e')
```

I see something very similar, but with the `nans` level removed, if I do this:  
`xr.align(*[da.reset_index(""nans"", drop=True) for da in das], join=""outer"")`","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,329438885
https://github.com/pydata/xarray/issues/2215#issuecomment-394765054,https://api.github.com/repos/pydata/xarray/issues/2215,394765054,MDEyOklzc3VlQ29tbWVudDM5NDc2NTA1NA==,25231875,2018-06-05T15:59:57Z,2018-06-05T15:59:57Z,NONE,"For clarity, here are the prints of the arrays before and after alignment:  

Before alignment:  
```
[<xarray.DataArray (x: 10, y: 5)>
 array([[ 0., nan, nan, nan, nan],
        [nan,  1., nan, nan, nan],
        [nan, nan,  2., nan, nan],
        [nan, nan, nan,  3., nan],
        [nan, nan, nan, nan,  4.],
        [ 5., nan, nan, nan, nan],
        [nan,  6., nan, nan, nan],
        [nan, nan,  7., nan, nan],
        [nan, nan, nan,  8., nan],
        [nan, nan, nan, nan,  9.]])
 Coordinates:
   * x        (x) MultiIndex
   - ints     (x) int64 0 1 2 3 4 5 6 7 8 9
   - nans     (x) float64 nan nan nan nan nan nan nan nan nan nan
   * y        (y) object 'a' 'b' 'c' 'd' 'e', <xarray.DataArray (x: 10, y: 5)>
 array([[ 0., nan, nan, nan, nan],
        [nan,  1., nan, nan, nan],
        [nan, nan,  2., nan, nan],
        [nan, nan, nan,  3., nan],
        [nan, nan, nan, nan,  4.],
        [ 5., nan, nan, nan, nan],
        [nan,  6., nan, nan, nan],
        [nan, nan,  7., nan, nan],
        [nan, nan, nan,  8., nan],
        [nan, nan, nan, nan,  9.]])
 Coordinates:
   * x        (x) MultiIndex
   - ints     (x) int64 10 11 12 13 14 15 16 17 18 19
   - nans     (x) float64 nan nan nan nan nan nan nan nan nan nan
   * y        (y) object 'a' 'b' 'c' 'd' 'e']
```

After alignment:  
```
(<xarray.DataArray (x: 20, y: 5)>
 array([[nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan]])
 Coordinates:
   * x        (x) MultiIndex
   - ints     (x) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   - nans     (x) object nan nan nan nan nan nan nan nan nan nan nan nan nan ...
   * y        (y) object 'a' 'b' 'c' 'd' 'e', <xarray.DataArray (x: 20, y: 5)>
 array([[nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan],
        [nan, nan, nan, nan, nan]])
 Coordinates:
   * x        (x) MultiIndex
   - ints     (x) int64 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   - nans     (x) object nan nan nan nan nan nan nan nan nan nan nan nan nan ...
   * y        (y) object 'a' 'b' 'c' 'd' 'e')
```","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,329438885
https://github.com/pydata/xarray/issues/2215#issuecomment-394762522,https://api.github.com/repos/pydata/xarray/issues/2215,394762522,MDEyOklzc3VlQ29tbWVudDM5NDc2MjUyMg==,25231875,2018-06-05T15:52:57Z,2018-06-05T15:52:57Z,NONE,"Since the align is an outer join, I would expect all the non-NaN values in the original DataArrays to also appear in the aligned DataArrays.  Perhaps I am misinterpreting the behavior of `join=""outer""`.  ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,329438885