id,node_id,number,title,user,state,locked,assignee,milestone,comments,created_at,updated_at,closed_at,author_association,active_lock_reason,draft,pull_request,body,reactions,performed_via_github_app,state_reason,repo,type 186868181,MDU6SXNzdWUxODY4NjgxODE=,1074,DataArray.apply is missing,1310437,open,0,,,9,2016-11-02T17:30:45Z,2022-11-04T17:18:58Z,,CONTRIBUTOR,,,,"In essence, I'm looking for the functionality of `xarray.core.utils.maybe_wrap_array`. I guess you are waiting for #964 to unify such functionality?","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1074/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 189095110,MDExOlB1bGxSZXF1ZXN0OTM1NTM5OTA=,1118,Do not convert subclasses of `ndarray` unless required,1310437,closed,0,,,13,2016-11-14T11:59:02Z,2019-12-25T14:12:34Z,2019-12-25T14:12:34Z,CONTRIBUTOR,,0,pydata/xarray/pulls/1118,"By changing a single `np.asarray` to `np.asanyarray`, it becomes possible to use `ndarray` subclasses within `DataArray` and `Dataset`. No guarantee is made at this point that their behaviour is retained under all circumstances, but for some use-cases it will work. Particularly, this allows to store physical quantities represented using the `Quantity` subclass from the package [python-quantities](https://github.com/python-quantities/python-quantities). In that sense, it is a partial fix for #525. Tests are included to highlight some of the things that do work, and some which don't. It does not work for coordinates when they are used as indexes, since pandas does not support ndarray subclasses. Most likely, it will also not work for any higher-level operation on the data such as those involving `np.concatenate`. Thus, any user of this feature should remain cautious. Nonetheless, for me, this change provides enough added value, such that I'd consider it worthwhile to keep, assuming it does not harm anywhere else. It does pass the tests on my machine (no dask though), let's see what travis says. I expect that astropy's units would behave similarly, though since I never worked with them yet, I did not include any tests.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1118/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 189129954,MDU6SXNzdWUxODkxMjk5NTQ=,1120,Creating a `Dataset` with a coordinate given by a `DataArray` may create an invalid dataset,1310437,closed,0,,,3,2016-11-14T14:46:44Z,2017-09-06T00:07:08Z,2017-09-06T00:07:08Z,CONTRIBUTOR,,,,"Consider this: ``` import xarray as xr import numpy as np ds = xr.Dataset( data_vars=dict( v = ('y',np.r_[0:10]), ), coords=dict( y=xr.DataArray(np.r_[:10]/10,dims='x'), ), ) ``` The dataset `ds` will end up having dimensions `('x', 'y')` because of the coordinate `y` having dimensions `('x',)`. This seems to violate some of the internal assumptions (`ds.indexes['y'].name` turns out to be `'x'`), consequently `ds.sel(y=0)` will throw an exception (`ValueError: cannot use a dict-like object for selection on a dimension that does not have a MultiIndex`). I came across this situation when trying to generate a dataset with a coordinate that is a copy of another pre-existing coordinate, but under a different name. My expectation was that the coordinate would be renamed (doing so manually also doesn't work out of the box due to #1116). Of course that is not the only possible interpretation of the construct above, arguably it should raise an exception instead (which is what `DataArray` currently does in the corresponding case).","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1120/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 189415576,MDU6SXNzdWUxODk0MTU1NzY=,1121,Performance degradation: `DataArray` with `dtype=object` of `DataArray` gets very slow indexing,1310437,closed,0,,,3,2016-11-15T15:04:29Z,2016-11-15T17:36:26Z,2016-11-15T17:36:26Z,CONTRIBUTOR,,,,"I did not follow the code deeply, but there clearly seems to be a huge overhead when indexing such arrays. In particular, in the following code ```python import xarray as xr import numpy as np a = xr.DataArray([None for k in range(100)],dims='c') for k in range(a.c.size): a[k] = xr.DataArray(np.random.randn(1000,5),dims=['a','b']) %prun a[0] ``` the indexing operation takes about 1 second on my machine, or 2 seconds when running under the profiler. The profiler output shows lots of functions with a recursive call count exceeding 100'000 (most likely iterating through each row of the contained sub-arrays). However, there is really no reason to iterate through the nested elements.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1121/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue 189451582,MDExOlB1bGxSZXF1ZXN0OTM4MDgzODM=,1122,Fix slow object arrays indexing,1310437,closed,0,,,2,2016-11-15T17:12:28Z,2016-11-15T17:30:54Z,2016-11-15T17:30:54Z,CONTRIBUTOR,,0,pydata/xarray/pulls/1122,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1122/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 189099082,MDExOlB1bGxSZXF1ZXN0OTM1NTY4NTA=,1119,Fix #1116 (rename of coordinates),1310437,closed,0,,,4,2016-11-14T12:20:50Z,2016-11-15T16:18:04Z,2016-11-15T16:18:00Z,CONTRIBUTOR,,0,pydata/xarray/pulls/1119,,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1119/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull 189081147,MDU6SXNzdWUxODkwODExNDc=,1116,`DataArray.rename` of a coordinate array fails to rename the coordinate name of it's own coordinate,1310437,closed,0,,,1,2016-11-14T10:47:24Z,2016-11-15T16:18:03Z,2016-11-15T16:18:03Z,CONTRIBUTOR,,,,"The documentation of `DataArray.rename` states that it renames the name of the DataArray and/or associated coordinates. However, if a name happens to be simultaneously the name of the array and of a coordinate, it only renames the array. This situation particularly arises when one tries to create a renamed coordinate to use on a different (new) array/dataset, as in that case the name of the only dimension of the coordinate array is the name of the array itself. ","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/1116/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed,13221727,issue