home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

7 rows where issue = 650549352 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

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

user 4

  • cwerner 3
  • fujiisoup 2
  • shoyer 1
  • keewis 1

author_association 2

  • MEMBER 4
  • NONE 3

issue 1

  • Provide a "shrink" command to remove bounding nan/ whitespace of DataArray · 7 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
654015589 https://github.com/pydata/xarray/issues/4197#issuecomment-654015589 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1NDAxNTU4OQ== cwerner 13906519 2020-07-06T05:02:48Z 2020-07-07T13:24:29Z NONE

Ok, so for now I roll with this:

```python def shrink_dataarray(da, dims=None): """remove nodata borders from spatial dims of dataarray""" dims = set(dims) if dims else set(da.dims)

if len(dims) != 2:
    raise IndexError

# non-spatial dims (carry over, only shrink spatial dims)
nsd = set(da.dims) - dims
nsd_indexers = {d: range(len(da[d])) for d in nsd}

indexers = {d: (da.count(dim=dims - set([d])|nsd).cumsum() != 0) * 
               (da.count(dim=dims - set([d])|nsd)[::-1].cumsum()[::-1] != 0)
            for d in dims}

indexers.update(nsd_indexers)

return da.isel(**indexers)

```

Is it possible to identify non-spatial dims with plain xarray dataarrays (non cf-xarray)? And is there maybe a way to detect unlimited dims (usually the time dim)?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653753668 https://github.com/pydata/xarray/issues/4197#issuecomment-653753668 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1Mzc1MzY2OA== cwerner 13906519 2020-07-04T11:22:42Z 2020-07-04T11:22:42Z NONE

@fujiisoup Thanks, that’s great and much cleaner than my previous numpy code. I’ll run with that and maybe try to pack that in a general function. Not sure is this a common enough problem to have in xarray itself?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653752196 https://github.com/pydata/xarray/issues/4197#issuecomment-653752196 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1Mzc1MjE5Ng== fujiisoup 6815844 2020-07-04T11:05:49Z 2020-07-04T11:05:49Z MEMBER

@cwerner ```python In [40]: idx = (da.count('y').cumsum() != 0) * (da.count('y')[::-1].cumsum()[::- ...: 1] != 0)

In [42]: da.isel(x=idx)
Out[42]: <xarray.DataArray (x: 3, y: 4)> array([[nan, 0., 2., nan], [nan, nan, nan, nan], [nan, 2., 0., nan]]) Dimensions without coordinates: x, y ``` Maybe this works, but I have no cleaner solution.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653748350 https://github.com/pydata/xarray/issues/4197#issuecomment-653748350 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1Mzc0ODM1MA== cwerner 13906519 2020-07-04T10:20:56Z 2020-07-04T10:37:29Z NONE

@keewis @fujiisoup @shoyer thanks. this does indeed not work for my used case if there's a all-nan stretch between parts of the array (think UK and the channel and the northern coast of France) - I simply want to get rid of extra space around a geographic domain (i.e. the nan edges)

``` data = np.array([ [np.nan, np.nan, np.nan, np.nan], [np.nan, 0, 2, np.nan], [np.nan, np.nan, np.nan, np.nan], [np.nan, 2, 0, np.nan], [np.nan, np.nan, np.nan, np.nan], ]) da = xr.DataArray(data, dims=("x", "y"))

this also results in a 2x2 array, but should be 3x2

```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653731489 https://github.com/pydata/xarray/issues/4197#issuecomment-653731489 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1MzczMTQ4OQ== shoyer 1217238 2020-07-04T07:04:51Z 2020-07-04T07:04:51Z MEMBER

Another way to write this currently would be with where: array.where(array.notnull(), drop=True)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653729887 https://github.com/pydata/xarray/issues/4197#issuecomment-653729887 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1MzcyOTg4Nw== fujiisoup 6815844 2020-07-04T06:47:04Z 2020-07-04T06:47:04Z MEMBER

@keewis I think it is close to da.dropna(how='all') python In [12]: da.dropna('x', how='all').dropna('y', how='all') Out[12]: <xarray.DataArray (x: 2, y: 2)> array([[0., 2.], [2., 0.]]) Dimensions without coordinates: x, y I think supporting multiple dimensions for dropna is totally in our scope. Currently, dropna only works with a single dimension and da.dropna(how='all') does not work.

@cwerner Is it close to your example? If you don't want to drop all nans but only those located at the edges, the above example does not work.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352
653578137 https://github.com/pydata/xarray/issues/4197#issuecomment-653578137 https://api.github.com/repos/pydata/xarray/issues/4197 MDEyOklzc3VlQ29tbWVudDY1MzU3ODEzNw== keewis 14808389 2020-07-03T14:38:57Z 2020-07-03T14:41:16Z MEMBER

you should be able to emulate that using: ```python In [2]: data = np.array([ ...: [np.nan, np.nan, np.nan, np.nan], ...: [np.nan, 0, 2, np.nan], ...: [np.nan, 2, 0, np.nan], ...: [np.nan, np.nan, np.nan, np.nan], ...: ]) ...: da = xr.DataArray(data, dims=("x", "y"))

In [3]: def shrink(arr): ...: notnull = da.notnull() ...: indexers = { ...: dim: notnull.any(dim=set(da.dims) - set([dim])) ...: for dim in da.dims ...: } ...: return arr.sel(**indexers) ...:

In [4]: da Out[4]: <xarray.DataArray (x: 4, y: 4)> array([[nan, nan, nan, nan], [nan, 0., 2., nan], [nan, 2., 0., nan], [nan, nan, nan, nan]]) Dimensions without coordinates: x, y

In [5]: shrink(da) Out[5]: <xarray.DataArray (x: 2, y: 2)> array([[0., 2.], [2., 0.]]) Dimensions without coordinates: x, y ``` @pydata/xarray: is this common enough to add it to the API?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Provide a "shrink" command to remove bounding nan/ whitespace of DataArray 650549352

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 11.322ms · About: xarray-datasette