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 596249070,MDU6SXNzdWU1OTYyNDkwNzA=,3954,Concatenate 3D array with 2D array,30388627,open,0,,,5,2020-04-08T01:36:28Z,2022-05-06T16:39:22Z,,NONE,,,,"The 3D array has three dims: z, y and x. The 2D array has two dims: y and x. When I try to concatenate them by expanding the 2D array with z dim, there's something wrong in `_dataset_concat` #### MCVE Code Sample ```python import xarray as xr import numpy as np x = 2 y = 4 z = 3 data = np.arange(x*y*z).reshape(z, x, y) # 3d array with coords a = xr.DataArray(data, dims=['z', 'y', 'x'], coords={'z': np.arange(z)}) # 2d array without coords b = xr.DataArray(np.arange(x*y).reshape(x, y)*1.5, dims=['y', 'x']) # expand 2d to 3d b = b.expand_dims('z') # concat comb = xr.concat([a, b], dim='z') ``` #### Expected Output Same as `np.concatenate`: ``` concat_array = np.concatenate((a, b)) comb = xr.DataArray(concat_array, dims={'z', 'y', 'x'}) ``` ``` array([[[ 0. , 1. , 2. , 3. ], [ 4. , 5. , 6. , 7. ]], [[ 8. , 9. , 10. , 11. ], [12. , 13. , 14. , 15. ]], [[16. , 17. , 18. , 19. ], [20. , 21. , 22. , 23. ]], [[ 0. , 1.5, 3. , 4.5], [ 6. , 7.5, 9. , 10.5]]]) Dimensions without coordinates: z, x, y ``` #### Problem Description ``` comb = xr.concat([a, b], dim='z') File ""E:\miniconda3\envs\satpy\lib\site-packages\xarray\core\concat.py"", line 135, in concat return f(objs, dim, data_vars, coords, compat, positions, fill_value, join) File ""E:\miniconda3\envs\satpy\lib\site-packages\xarray\core\concat.py"", line 455, in _dataarray_concat join=join, File ""E:\miniconda3\envs\satpy\lib\site-packages\xarray\core\concat.py"", line 395, in _dataset_concat raise ValueError(""%r is not present in all datasets."" % k) ValueError: 'z' is not present in all datasets. ``` As suggested by @dcherian, assigning the coordinate label by changing `b = b.expand_dims('z')` to `b = b.expand_dims(z=[3])` makes it work. #### Versions
Output of `xr.show_versions()` INSTALLED VERSIONS ------------------ commit: None python: 3.7.6 | packaged by conda-forge | (default, Jan 7 2020, 21:48:41) [MSC v.1916 64 bit (AMD64)] python-bits: 64 OS: Windows OS-release: 10 machine: AMD64 processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel byteorder: little LC_ALL: None LANG: None LOCALE: None.None libhdf5: None libnetcdf: None xarray: 0.15.1 pandas: 1.0.3 numpy: 1.18.1 scipy: 1.4.1 netCDF4: None pydap: None h5netcdf: None h5py: None Nio: None zarr: None cftime: 1.1.1.2 nc_time_axis: None PseudoNetCDF: None rasterio: 1.1.3 cfgrib: None iris: None bottleneck: None dask: 2.10.1 distributed: 2.14.0 matplotlib: 3.2.1 cartopy: 0.17.0 seaborn: 0.10.0 numbagg: None setuptools: 46.1.3.post20200325 pip: 20.0.2 conda: None pytest: None IPython: 7.13.0 sphinx: 2.4.4
","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3954/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 1086038682,I_kwDOAMm_X85Au6Ka,6095,Issue on page /examples/multidimensional-coords.html,30388627,open,0,,,1,2021-12-21T17:04:09Z,2021-12-21T19:17:42Z,,NONE,,,,The `Groupby` example focuses on lat_bin. Then the `xc` in the `groupby_bins` function should be `yc`.,"{""url"": ""https://api.github.com/repos/pydata/xarray/issues/6095/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue