xarray.core.coordinates.DatasetCoordinates.assign#
- DatasetCoordinates.assign(coords=None, **coords_kwargs)[source]#
Assign new coordinates (and indexes) to a Coordinates object, returning a new object with all the original coordinates in addition to the new ones.
- Parameters
coords (mapping of
dim
tocoord
, optional) – A mapping whose keys are the names of the coordinates and values are the coordinates to assign. The mapping will generally be a dict orCoordinates
.If a value is a standard data value — for example, a
DataArray
, scalar, or array — the data is simply assigned as a coordinate.A coordinate can also be defined and attached to an existing dimension using a tuple with the first element the dimension name and the second element the values for this new coordinate.
**coords_kwargs – The keyword arguments form of
coords
. One ofcoords
orcoords_kwargs
must be provided.
- Returns
new_coords (
Coordinates
) – A new Coordinates object with the new coordinates (and indexes) in addition to all the existing coordinates.
Examples
>>> coords = xr.Coordinates() >>> coords Coordinates: *empty*
>>> coords.assign(x=[1, 2]) Coordinates: * x (x) int64 16B 1 2
>>> midx = pd.MultiIndex.from_product([["a", "b"], [0, 1]]) >>> coords.assign(xr.Coordinates.from_pandas_multiindex(midx, "y")) Coordinates: * y (y) object 32B MultiIndex * y_level_0 (y) object 32B 'a' 'a' 'b' 'b' * y_level_1 (y) int64 32B 0 1 0 1