Когда я группирую набор данных xarray, он переупорядочивает измерения, есть ли способ избежать этого переупорядочения?
Например,
import xarray as xr
ds = xr.Dataset({'foo': (('y', 'x'), np.random.rand(4, 3))},
coords={'y' : [10, 20, 30, 40],
'x' : list('abb') })
ds['foo'].groupby('x').sum(dim='x') #This is a xarray DataArray groupby
ds.groupby('x').sum(dim='x')['foo'] #This is a xarray Dataset groupby
выводит
#DataArray
ds['foo'].groupby('x').sum(dim='x')
<xarray.DataArray 'foo' (y: 4, x: 2)>
array([[0.289544, 1.767456],
[0.169652, 1.050738],
[0.09774 , 1.62232 ],
[0.577578, 1.238177]])
Coordinates:
* y (y) int32 10 20 30 40
* x (x) object 'a' 'b'
#Dataset
ds.groupby('x',restore_coord_dims=True).sum(dim='x')['foo']
<xarray.DataArray 'foo' (x: 2, y: 4)>
array([[0.289544, 0.169652, 0.09774 , 0.577578],
[1.767456, 1.050738, 1.62232 , 1.238177]])
Coordinates:
* y (y) int32 10 20 30 40
* x (x) object 'a' 'b'
Игра с «restore_coord_dims = True» (как в коде ниже) не устранила проблему.
ds.groupby('x',restore_coord_dims=True).sum(dim='x')['foo']