From 808b2e9eec1ec48d43cf9311dee27cd5550b8fd2 Mon Sep 17 00:00:00 2001 From: Giacomo Caria <44147817+gcaria@users.noreply.github.com> Date: Mon, 23 Aug 2021 19:00:39 +0200 Subject: [PATCH] Set coord name concat when `concat`ing along a DataArray (#5611) --- xarray/core/concat.py | 2 ++ xarray/tests/test_concat.py | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/xarray/core/concat.py b/xarray/core/concat.py index 7a15685fd56..e26c1464f2d 100644 --- a/xarray/core/concat.py +++ b/xarray/core/concat.py @@ -264,6 +264,8 @@ def _calc_concat_dim_coord(dim): (dim,) = coord.dims else: coord = dim + if coord.name is None: + coord.name = dim.dims[0] (dim,) = coord.dims return dim, coord diff --git a/xarray/tests/test_concat.py b/xarray/tests/test_concat.py index 36ef0237b27..e049f843bed 100644 --- a/xarray/tests/test_concat.py +++ b/xarray/tests/test_concat.py @@ -678,6 +678,15 @@ def test_concat_str_dtype(self, dtype, dim): assert np.issubdtype(actual.x2.dtype, dtype) + def test_concat_coord_name(self): + + da = DataArray([0], dims="a") + da_concat = concat([da, da], dim=DataArray([0, 1], dims="b")) + assert list(da_concat.coords) == ["b"] + + da_concat_std = concat([da, da], dim=DataArray([0, 1])) + assert list(da_concat_std.coords) == ["dim_0"] + @pytest.mark.parametrize("attr1", ({"a": {"meta": [10, 20, 30]}}, {"a": [1, 2, 3]}, {})) @pytest.mark.parametrize("attr2", ({"a": [1, 2, 3]}, {}))