issues: 1379000408
This data as json
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1379000408 | I_kwDOAMm_X85SMeBY | 7057 | Hook for better control over copy behavior with duck-arrays? | 12912489 | open | 0 | 0 | 2022-09-20T08:11:12Z | 2022-09-20T08:12:22Z | NONE | ContextBy using ```python tmp = da.copy(deep=False) del tmp.coords['abc'] Use tmp
```python tmp = da.copy(deep=False) Imagine a duck-array similar to numpy.ma but with a dict of masksdel tmp.data.masks['abc'] # Bad: breaks Use tmp``` Describe the solution you'd likeCurrently there does not appear a solution to this, unless we know details about the duck array. Therefore, I wonder if we need an additional "hook" that duck-arrays may provide, which could be called by Xarray to make a non-deep copy?
```python in xarray.Variabledef copy(self, deep=True): if deep: data = copy.deepcopy(data) elif hasattr(data, 'copy_shallow'): data = data.copy_shallow() ``` Additional contextThis is the current implementation for |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/7057/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
13221727 | issue |