coordax.coords.from_xarray

coordax.coords.from_xarray(data_array: xarray.DataArray, coord_types: Sequence[type[Coordinate]] = (<class 'coordax.LabeledAxis'>, <class 'coordax.DummyAxis'>)) Coordinate[source]

Convert coordinates of an xarray.DataArray into coordax.Coordinate.

Parameters:
  • data_arrayxarray.DataArray whose coordinates should be converted.

  • coord_types – sequence of coordax.Coordinate subclasses with from_xarray methods defined. The first coordinate class that returns a coordinate object (indicating a match) will be used. By default, coordinates will use only generic LabeledAxis and DummyAxis objects.

Returns:

A coordax.Coordinate object, constructed from any of the indicated types (plus CartesianProduct and Scalar), representing the coordinates of the input DataArray.

Raises:

ValueError – if no matching coordinate is found.

Examples

>>> import coordax as cx
>>> import xarray as xr
>>> import numpy as np
>>> da = xr.DataArray(np.zeros((2, 3)), dims=('x', 'y'), coords={'x': [1, 2]})
>>> cx.coords.from_xarray(da)
CartesianProduct(coordinates=(coordax.LabeledAxis('x', ticks=array([1, 2])), coordax.DummyAxis('y', size=3)))