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/issues/1281#issuecomment-281881318,https://api.github.com/repos/pydata/xarray/issues/1281,281881318,MDEyOklzc3VlQ29tbWVudDI4MTg4MTMxOA==,1217238,2017-02-23T03:15:18Z,2017-02-23T03:15:18Z,MEMBER,"> edit: I guess it should return a modified object rather than acting as an in-place operation...is copying appropriate here? How is this usually handled?
The standard thing to do would be to do a shallow copy of the original object (which copies everything except array data) and then update `attrs` inplace, e.g.,
```
def update_attrs(self, *args, **kwargs):
out = self.copy(deep=False)
out.attrs.update(*args, **kwargs)
return out
```
I like this idea, though I would call it `assign_attrs` rather than `update_coords`, to mirror `assign` and `assign_coords`.
I encourage you to get started on a pull request!
> Also, specifying default attrs for all data arrays of a dataset (like missing_data/ _FillValue/ ...) would be nice... Not sure if this is currently possible?
I don't think there's any way to do this currently without a loop. I would say we're open to proposals, which you should probably open another issue to discuss :).","{""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,209523348