home / github / issue_comments

Menu
  • Search all tables
  • GraphQL API

issue_comments: 654015589

This data as json

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/4197#issuecomment-654015589 https://api.github.com/repos/pydata/xarray/issues/4197 654015589 MDEyOklzc3VlQ29tbWVudDY1NDAxNTU4OQ== 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
}
  650549352
Powered by Datasette · Queries took 0.729ms · About: xarray-datasette