issues: 454677926
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
454677926 | MDU6SXNzdWU0NTQ2Nzc5MjY= | 3015 | Assigning values to a subset of a dataset | 23265127 | closed | 0 | 2 | 2019-06-11T13:03:16Z | 2021-05-25T08:12:52Z | 2021-05-25T08:12:52Z | NONE | Hi, can somebody tell me what is the "correct" way to manipulate a subset of the data contained in a Dataset? Consider the following example: ``` import numpy as np import xarray as xr shape = (3, 2) da1 = xr.DataArray(np.zeros(shape), dims=('x', 'y'), coords=dict(x=[1, 2, 3], y=[4, 5]), name='var1') da2 = xr.DataArray(np.zeros(shape), dims=('x', 'y'), coords=dict(x=[1, 2, 3], y=[4, 5]), name='var2') ``` I can easily change the value of variable 1 at a given coordinate in the first DataArray using the following syntax:
However, if I merge both DataArrays into a single Dataset and want to change both variables at the same time, there seems to be no straightforward solution:
The only solution I could come up with is to modify the two values separately, but this is neither very elegant nor scales with the number of variables:
All I could find in the docs about this issue is:
If not by indexing, what other (more compact) way exists? A potential solution might be to create a separate Dataset and then use the |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/3015/reactions", "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | 13221727 | issue |