xarray
xarray copied to clipboard
Add Coordinates `set_xindex()` and `drop_indexes()` methods
- Complements #8102
- [ ] Tests added
- [ ] User visible changes (including notable bug fixes) are documented in
whats-new.rst - [ ] New functions/methods are listed in
api.rst
I don't think that we need to copy most API from Dataset / DataArray to Coordinates, but I find it convenient to have some relevant methods there too. For example, building Coordinates from scratch (with custom indexes) before passing the whole coords + indexes bundle around:
import dask.array as da
import numpy as np
import xarray as xr
coords = (
xr.Coordinates(
coords={"x": da.arange(100_000_000), "y": np.arange(100)},
indexes={},
)
.set_xindex("x", DaskIndex)
.set_xindex("y", xr.indexes.PandasIndex)
)
ds = xr.Dataset(coords=coords)
# <xarray.Dataset>
# Dimensions: (x: 100000000, y: 100)
# Coordinates:
# * x (x) int64 dask.array<chunksize=(16777216,), meta=np.ndarray>
# * y (y) int64 0 1 2 3 4 5 6 7 8 9 10 ... 90 91 92 93 94 95 96 97 98 99
# Data variables:
# *empty*
# Indexes:
# x DaskIndex
@benbovy shall we merge?
@benbovy shall we merge?