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/6232#issuecomment-1027925460,https://api.github.com/repos/pydata/xarray/issues/6232,1027925460,IC_kwDOAMm_X849ROXU,14276158,2022-02-02T13:10:10Z,2022-02-02T13:12:44Z,CONTRIBUTOR,"@mathause You are right in the general case. The function we were working with copied the attributes, but the standard behavior of `map` is to not explicitly add the attributes for dataset and variables. However, they are also not explicitly deleted after applying `func`, so `func` is able to modify them. So i still feel writing `the new object will be returned without attributes.` is misleading. I updated my proposed change. ``` import xarray as xr air = xr.tutorial.open_dataset(""air_temperature"") def func(da): ret = da.copy(data=da.data) del ret.attrs['units'] return ret assert 'units' not in air.map(func, keep_attrs=False).air.attrs assert air.map(func, keep_attrs=False).air.attrs != {} ``` ","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,1121761078