issue_comments: 467945628
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/pull/2777#issuecomment-467945628 | https://api.github.com/repos/pydata/xarray/issues/2777 | 467945628 | MDEyOklzc3VlQ29tbWVudDQ2Nzk0NTYyOA== | 35968931 | 2019-02-27T17:04:39Z | 2019-02-27T17:16:53Z | MEMBER | @Zac-HD forgive me for this but I think this PR is unnecessary because what you need basically already exists in the API. Going back to your original example, you could have got the same indexing by creating a DataArray to use as a coordinate to concatenate over: ```python colors = "blue green red".split() ds = xr.Dataset({ k: xr.DataArray(np.random.random((2, 2)), dims="x y".split(), name=k) for k in colors }) band = xr.DataArray(colors, name="band", dims=["band"]) xr.concat([ds.blue, ds.green, ds.red], dim=band).plot.imshow(col="band") ``` This still leaves the wrong label on the colorbar, but that could be fixed separately and has to do with concat using the attrs of the first dataset in the list for the final dataset (a similar problem to #2382). I think it would be easier to change that behaviour instead (perhaps to Creating a new coordinate using a DataArray is in the docstring for
but I think there should be an example there too. (Also I think this is relevant to #1646)
@shoyer I agree, although I like the idea then I think this could introduce all sorts of complex concatentation edge cases. At the very least the new API should have symmetry properties something like: ```python da1 = DataArray(name='a', data=[[0]], dims=['x', 'y']) da2 = DataArray(name='b', data=[[1]], dims=['x', 'y']) da3 = DataArray(name='a', data=[[2]], dims=['x', 'y']) da4 = DataArray(name='b', data=[[3]], dims=['x', 'y']) xr.manual_combine([[da1, da2], [da3, da4]], concat_dim=['x', 'y']) should give the same result asxr.manual_combine([[da1, da3], [da2, da4]], concat_dim=['y', 'x'])
I think my suggestion for naming would pass this test because the result would be nameless and have no coords either way. I might have got that wrong but I definitely think this kind of change should be carefully considered :confused: (EDIT: I just added this example as a test to #2616) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
411755105 |