Description
MCVE Code Sample
import xarray as xr
import numpy as np
ds = xr.DataArray([1, 2], attrs=dict(tst="DataArray")).to_dataset(name="data")
ds.attrs["tst"] = "Dataset"
ds.map(np.mean, keep_attrs=True).data
returns
<xarray.DataArray 'data' ()>
array(1.5)
Expected Output
<xarray.DataArray 'data' ()>
array(1.5)
Attributes:
tst: DataArray
Problem Description
Applying xr.Dataset.map(..., keep_attrs=True)
does not retain the attributes of the DataArrays. Should it?
In constrast ds.mean(keep_attrs=True)
retains DataArray-level attrs.
EDIT: corrected example
Output of xr.show_versions()
INSTALLED VERSIONS
commit: bd4f048
python: 3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 21:52:21)
[GCC 7.3.0]
python-bits: 64
OS: Linux
OS-release: 4.12.14-lp151.28.32-default
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_US.UTF-8
libhdf5: 1.10.5
libnetcdf: 4.6.2
xarray: 0.14.0+117.gbd4f048b.dirty
pandas: 0.25.2
numpy: 1.17.3
scipy: 1.3.1
netCDF4: 1.5.1.2
pydap: installed
h5netcdf: 0.7.4
h5py: 2.10.0
Nio: 1.5.5
zarr: 2.3.2
cftime: 1.0.4.2
nc_time_axis: 1.2.0
PseudoNetCDF: installed
rasterio: 1.1.0
cfgrib: 0.9.7.2
iris: 2.2.0
bottleneck: 1.2.1
dask: 2.6.0
distributed: 2.6.0
matplotlib: 3.1.1
cartopy: 0.17.0
seaborn: 0.9.0
numbagg: installed
setuptools: 41.6.0.post20191029
pip: 19.3.1
conda: None
pytest: 5.2.2
IPython: 7.9.0
sphinx: None