scipp.compat.xarray_compat.to_xarray#

scipp.compat.xarray_compat.to_xarray(obj)#

Convert a scipp object to the corresponding xarray object.

Warning

Any masks and variances in the input will be stripped during the conversion. Binned data is not supported.

Parameters:

obj (VariableLike) – The scipp object to convert.

Returns:

Variable | DataArray | Dataset – The converted xarray object.

See also

scipp.compat.from_xarray

Examples

Convert a scipp DataArray to an xarray DataArray:

>>> import scipp as sc
>>> sc_da = sc.DataArray(
...     data=sc.array(dims=['x', 'y'], values=[[1, 2], [3, 4]], unit='K'),
...     coords={'x': sc.array(dims=['x'], values=[0.0, 1.0], unit='m'),
...             'y': sc.array(dims=['y'], values=[10, 20])}
... )
>>> xr_da = sc.compat.to_xarray(sc_da)
>>> xr_da
<xarray.DataArray (x: 2, y: 2)>
array([[1, 2],
       [3, 4]])
Coordinates:
  * x        (x) float64 0.0 1.0
  * y        (y) int64 10 20
Attributes:
    units:    K

Round-trip conversion preserves data:

>>> roundtrip = sc.compat.from_xarray(sc.compat.to_xarray(sc_da))
>>> roundtrip
<scipp.DataArray>
Dimensions: Sizes[x:2, y:2, ]
Coordinates:
* x                         float64              [m]  (x)  [0, 1]
* y                           int64  [dimensionless]  (y)  [10, 20]
Data:
                              int64              [K]  (x, y)  [1, 2, 3, 4]