issue_comments: 854786005
This data as json
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/5436#issuecomment-854786005 | https://api.github.com/repos/pydata/xarray/issues/5436 | 854786005 | MDEyOklzc3VlQ29tbWVudDg1NDc4NjAwNQ== | 14808389 | 2021-06-04T14:48:49Z | 2021-06-04T14:58:08Z | MEMBER | It sounds like we should try to add a page to the user-guide section of the docs explaining what When merging an object, all the comparison of the different values for <tt>combine_attrs</tt>```python In [6]: ds1 = xr.Dataset(attrs={"created": "2020-06-05", "a": 0}) ...: ds2 = xr.Dataset(attrs={"created": "2021-06-05", "b": 1}) ...: ...: xr.merge([ds1, ds2], combine_attrs="drop") Out[6]: <xarray.Dataset> Dimensions: () Data variables: *empty* In [7]: ds1 = xr.Dataset(attrs={"created": "2020-06-05", "a": 0}) ...: ds2 = xr.Dataset(attrs={"created": "2021-06-05", "b": 1}) ...: ...: xr.merge([ds1, ds2], combine_attrs="override") Out[7]: <xarray.Dataset> Dimensions: () Data variables: *empty* Attributes: created: 2020-06-05 a: 0 In [8]: ds1 = xr.Dataset(attrs={"created": "2020-06-05", "a": 0}) ...: ds2 = xr.Dataset(attrs={"created": "2020-06-05", "b": 1}) ...: ...: xr.merge([ds1, ds2], combine_attrs="no_conflicts") Out[8]: <xarray.Dataset> Dimensions: () Data variables: *empty* Attributes: created: 2020-06-05 a: 0 b: 1 In [9]: ds1 = xr.Dataset(attrs={"created": "2020-06-05", "a": 0}) ...: ds2 = xr.Dataset(attrs={"created": "2021-06-05", "b": 1}) ...: ...: xr.merge([ds1, ds2], combine_attrs="identical") --------------------------------------------------------------------------- MergeError Traceback (most recent call last) <ipython-input-9-3fda11a2986d> in <module> 2 ds2 = xr.Dataset(attrs={"created": "2021-06-05", "b": 1}) 3 ----> 4 xr.merge([ds1, ds2], combine_attrs="identical") .../xarray/core/merge.py in merge(objects, compat, join, fill_value, combine_attrs) 883 dict_like_objects.append(obj) 884 --> 885 merge_result = merge_core( 886 dict_like_objects, 887 compat, .../xarray/core/merge.py in merge_core(objects, compat, join, combine_attrs, priority_arg, explicit_coords, indexes, fill_value) 645 ) 646 --> 647 attrs = merge_attrs( 648 [var.attrs for var in coerced if isinstance(var, (Dataset, DataArray))], 649 combine_attrs, .../xarray/core/merge.py in merge_attrs(variable_attrs, combine_attrs) 546 for attrs in variable_attrs[1:]: 547 if not dict_equiv(result, attrs): --> 548 raise MergeError( 549 f"combine_attrs='identical', but attrs differ. First is {str(result)} " 550 f", other is {str(attrs)}." MergeError: combine_attrs='identical', but attrs differ. First is {'created': '2020-06-05', 'a': 0} , other is {'created': '2021-06-05', 'b': 1}. In [10]: ds1 = xr.Dataset(attrs={"created": "2020-06-05", "a": 0}) ...: ds2 = xr.Dataset(attrs={"created": "2021-06-05", "b": 1}) ...: ...: xr.merge([ds1, ds2], combine_attrs="drop_conflicts") Out[10]: <xarray.Dataset> Dimensions: () Data variables: *empty* Attributes: a: 0 b: 1 ```What I was referring to before was something different: ```python In [2]: arr = xr.DataArray([0, 1], dims="x", attrs={"units": "m"}) ...: arr Out[2]: <xarray.DataArray (x: 2)> array([0, 1]) Dimensions without coordinates: x Attributes: units: m In [3]: arr.to_dataset(name="a") Out[3]: <xarray.Dataset> Dimensions: (x: 2) Dimensions without coordinates: x Data variables: a (x) int64 0 1 In [4]: arr.to_dataset(name="a", promote_attrs=True)
Out[4]:
<xarray.Dataset>
Dimensions: (x: 2)
Dimensions without coordinates: x
Data variables:
a (x) int64 0 1
Attributes:
units: m
have a look at |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
911513701 |