to_unstacked_dataset
- UnitsAwareDataArray.to_unstacked_dataset(dim: Hashable, level: int | Hashable = 0) Dataset
Unstack DataArray expanding to Dataset along a given level of a stacked coordinate.
This is the inverse operation of Dataset.to_stacked_array.
- Parameters:
dim (Hashable) – Name of existing dimension to unstack
level (int or Hashable, default: 0) – The MultiIndex level to expand to a dataset along. Can either be the integer index of the level or its name.
- Returns:
unstacked
- Return type:
Examples
>>> arr = xr.DataArray( ... np.arange(6).reshape(2, 3), ... coords=[("x", ["a", "b"]), ("y", [0, 1, 2])], ... ) >>> data = xr.Dataset({"a": arr, "b": arr.isel(y=0)}) >>> data <xarray.Dataset> Size: 96B Dimensions: (x: 2, y: 3) Coordinates: * x (x) <U1 8B 'a' 'b' * y (y) int64 24B 0 1 2 Data variables: a (x, y) int64 48B 0 1 2 3 4 5 b (x) int64 16B 0 3 >>> stacked = data.to_stacked_array("z", ["x"]) >>> stacked.indexes["z"] MultiIndex([('a', 0), ('a', 1), ('a', 2), ('b', nan)], name='z') >>> roundtripped = stacked.to_unstacked_dataset(dim="z") >>> data.identical(roundtripped) True
See also
Dataset.to_stacked_array