diff --git a/xarray/core/combine.py b/xarray/core/combine.py index 97c36c85a3c..ea2c6e89ec2 100644 --- a/xarray/core/combine.py +++ b/xarray/core/combine.py @@ -138,7 +138,7 @@ def _calc_concat_dim_coord(dim): coord = as_variable(dim).to_index_variable() dim, = coord.dims else: - coord = dim + coord = dim.rename({dim.dims[0]: dim.name}) dim, = coord.dims return dim, coord diff --git a/xarray/tests/test_combine.py b/xarray/tests/test_combine.py index b2bbba34fef..ee5673f876f 100644 --- a/xarray/tests/test_combine.py +++ b/xarray/tests/test_combine.py @@ -234,6 +234,14 @@ def test_concat_multiindex(self): assert expected.equals(actual) assert isinstance(actual.x.to_index(), pd.MultiIndex) + def test_concat_dim_name(self): + da = [DataArray(np.random.randn(3), dims=['d1']) for aa in range(5)] + labels = ['foo1', 'foo2', 'foo3', 'foo4', 'foo5'] + daconcat = concat(da, DataArray(labels, name='stat')) + pdconcat = concat(da, pd.Index(labels, name='stat')) + + self.assertDataArrayEqual(daconcat, pdconcat) + class TestConcatDataArray(TestCase): def test_concat(self):