You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am a bit puzzled about how xarrays is broadcasting Datasets.
It seems to always add all dimensions to all variables.
Is this what you want in general?
See this example:
importxarrayasxrda=xr.DataArray([[1, 2, 3]], dims=("x", "y"))
# <xarray.DataArray (x: 1, y: 3)># array([[1, 2, 3]])ds=xr.Dataset({"a": ("x", [1]), "b": ("z", [2, 3])})
# <xarray.Dataset># Dimensions: (x: 1, z: 2)# Dimensions without coordinates: x, z# Data variables:# a (x) int32 1# b (z) int32 2 3ds.broadcast_like(da)
# returns:# <xarray.Dataset># Dimensions: (x: 1, y: 3, z: 2)# Dimensions without coordinates: x, y, z# Data variables:# a (x, y, z) int32 1 1 1 1 1 1# b (x, y, z) int32 2 3 2 3 2 3# I think it should return:# <xarray.Dataset># Dimensions: (x: 1, y: 3, z: 2)# Dimensions without coordinates: x, y, z# Data variables:# a (x, y) int32 1 1 1 # notice here without "z" dim# b (x, y, z) int32 2 3 2 3 2 3
Describe the solution you'd like
I would like broadcasting to behave the same way as e.g. a simple addition.
In the upper example da + ds produces the dimensions that I want.
Describe alternatives you've considered
ds + xr.zeros_like(da) this works, but seems more like a "dirty hack".
Additional context
Maybe one can add an option to broadcasting that controls this behavior?
The text was updated successfully, but these errors were encountered:
I tried adding a join input to Dataset.broadcast_like and passing it to align, but that did not work (at least for join="inner"). Still got the same result...
Is your feature request related to a problem?
I am a bit puzzled about how xarrays is broadcasting Datasets.
It seems to always add all dimensions to all variables.
Is this what you want in general?
See this example:
Describe the solution you'd like
I would like broadcasting to behave the same way as e.g. a simple addition.
In the upper example
da + ds
produces the dimensions that I want.Describe alternatives you've considered
ds + xr.zeros_like(da)
this works, but seems more like a "dirty hack".Additional context
Maybe one can add an option to broadcasting that controls this behavior?
The text was updated successfully, but these errors were encountered: