home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

10 rows where issue = 329438885 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: created_at (date), updated_at (date)

user 2

  • shoyer 5
  • jjpr-mit 5

author_association 2

  • MEMBER 5
  • NONE 5

issue 1

  • align() outer join returns DataArrays that are all NaNs · 10 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
397085835 https://github.com/pydata/xarray/issues/2215#issuecomment-397085835 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NzA4NTgzNQ== shoyer 1217238 2018-06-13T21:02:44Z 2018-06-13T21:02:44Z MEMBER

OK, great. I'm going to close this then, and simply recommend that anyone encounter this issue try upgrading pandas.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  align() outer join returns DataArrays that are all NaNs 329438885
396953390 https://github.com/pydata/xarray/issues/2215#issuecomment-396953390 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5Njk1MzM5MA== jjpr-mit 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
}
  align() outer join returns DataArrays that are all NaNs 329438885
394911109 https://github.com/pydata/xarray/issues/2215#issuecomment-394911109 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDkxMTEwOQ== shoyer 1217238 2018-06-06T01:30:51Z 2018-06-06T01:30:51Z MEMBER

This what I see when printing aligned from your example: In [26]: aligned Out[26]: (<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) float64 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) float64 nan nan nan nan nan nan nan nan nan nan nan nan nan ... * y (y) object 'a' 'b' 'c' 'd' 'e')

The only material difference I can see in our environments is that I'm running pandas 0.23 and you're running pandas 0.22. Can you try updating pandas and see if that fixes the issue?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  align() outer join returns DataArrays that are all NaNs 329438885
394758682 https://github.com/pydata/xarray/issues/2215#issuecomment-394758682 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc1ODY4Mg== jjpr-mit 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(jshape[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
}
  align() outer join returns DataArrays that are all NaNs 329438885
394769300 https://github.com/pydata/xarray/issues/2215#issuecomment-394769300 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc2OTMwMA== jjpr-mit 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
}
  align() outer join returns DataArrays that are all NaNs 329438885
394765439 https://github.com/pydata/xarray/issues/2215#issuecomment-394765439 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc2NTQzOQ== shoyer 1217238 2018-06-05T16:01:04Z 2018-06-05T16:01:04Z MEMBER

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.

Sorry, I'm not quite following -- can we please give a specific example of which output from your example looks wrong, and print how it should look instead?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  align() outer join returns DataArrays that are all NaNs 329438885
394765054 https://github.com/pydata/xarray/issues/2215#issuecomment-394765054 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc2NTA1NA== jjpr-mit 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
}
  align() outer join returns DataArrays that are all NaNs 329438885
394762522 https://github.com/pydata/xarray/issues/2215#issuecomment-394762522 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc2MjUyMg== jjpr-mit 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
}
  align() outer join returns DataArrays that are all NaNs 329438885
394761483 https://github.com/pydata/xarray/issues/2215#issuecomment-394761483 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc2MTQ4Mw== shoyer 1217238 2018-06-05T15:50:04Z 2018-06-05T15:50:04Z MEMBER

Thanks for the example. Can you please identify exactly which behavior you find surprising, and what you think the result should be?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  align() outer join returns DataArrays that are all NaNs 329438885
394753520 https://github.com/pydata/xarray/issues/2215#issuecomment-394753520 https://api.github.com/repos/pydata/xarray/issues/2215 MDEyOklzc3VlQ29tbWVudDM5NDc1MzUyMA== shoyer 1217238 2018-06-05T15:28:45Z 2018-06-05T15:28:45Z MEMBER

Are you sure the indexes along the aligned dimensions match exactly? Small differences in floats are the most common source of this issue.

Try using second.reindex_like(first, method='nearest') instead of xarray.align(first, second).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  align() outer join returns DataArrays that are all NaNs 329438885

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
    ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
    ON [issue_comments] ([user]);
Powered by Datasette · Queries took 15.526ms · About: xarray-datasette