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 520079199,MDU6SXNzdWU1MjAwNzkxOTk=,3497,how should xarray handle pandas attrs,2448579,open,0,,,1,2019-11-08T15:32:36Z,2021-07-04T03:31:02Z,,MEMBER,,,,"Continuing discussion form #3491. Pandas has added `attrs` to their objects. We should decide on what to do with them in the DataArray constructor. Many tests fail if we don't handle this case explicitly. @dcherian: > Not sure what we want to do about these attributes in the long term. One option would be to pop the name attribute, assign to DataArray.name and keep the rest as DataArray.attrs? But what if name clashes with the provided name? @max-sixty: > Agree! I think we could prioritize the supplied name above that in attrs. Another option would be raising an error if both were supplied.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3497/reactions"", ""total_count"": 1, ""+1"": 1, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,issue 520252049,MDExOlB1bGxSZXF1ZXN0MzM4ODczODg3,3500,make coarsen reductions consistent with reductions on other classes,2448579,closed,0,,,5,2019-11-08T21:56:03Z,2019-12-04T16:11:21Z,2019-12-04T16:11:16Z,MEMBER,,0,pydata/xarray/pulls/3500," - [x] Tests added - [x] Passes `black . && mypy . && flake8` - [x] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API This PR uses `inject_reduce_methods` to inject reduction methods into the Coarsen classes. So now we can do `coarsen.count()` and pass `skipna` down to the reduction methods.","{""url"": ""https://api.github.com/repos/pydata/xarray/issues/3500/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,,13221727,pull