# xarray.indexes.CoordinateTransformIndex

### *class* xarray.indexes.CoordinateTransformIndex(transform)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/indexes.py#L1545-L1699)

Helper class for creating Xarray indexes based on coordinate transforms.

- wraps a [`CoordinateTransform`](xarray.indexes.CoordinateTransform.html.md#xarray.indexes.CoordinateTransform) instance
- takes care of creating the index (lazy) coordinates
- supports point-wise label-based selection
- supports exact alignment only, by comparing indexes based on their transform
  (not on their explicit coordinate labels)

#### CAUTION
This API is experimental and subject to change. Please report any bugs or surprising
behaviour you encounter.

#### \_\_init_\_(transform)[[source]](https://github.com/pydata/xarray/blob/main/xarray/core/indexes.py#L1561-L1565)

### Methods

| [`__init__`](#xarray.indexes.CoordinateTransformIndex.__init__)(transform)   |                                                                                                  |
|------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| `concat`(indexes, dim[, positions])                                    | Create a new index by concatenating one or more indexes of the same type.                        |
| `copy`([deep])                                                         | Return a (deep) copy of this index.                                                              |
| `create_variables`([variables])                                        | Maybe create new coordinate variables from this index.                                           |
| `equals`(other, \*[, exclude])                                         | Compare this index with another index of the same type.                                          |
| `from_variables`(variables, \*, options)                               | Create a new index object from one or more coordinate variables.                                 |
| `isel`(indexers)                                                       | Maybe returns a new index from the current index itself indexed by positional indexers.          |
| `join`(other[, how])                                                   | Return a new index from the combination of this index with another index of the same type.       |
| `reindex_like`(other)                                                  | Query the index with another index of the same type.                                             |
| `rename`(name_dict, dims_dict)                                         | Maybe update the index with new coordinate and dimension names.                                  |
| `roll`(shifts)                                                         | Roll this index by an offset along one or more dimensions.                                       |
| `sel`(labels[, method, tolerance])                                     | Query the index with arbitrary coordinate label indexers.                                        |
| `should_add_coord_to_array`(name, var, dims)                           | Define whether or not an index coordinate variable should be added to a new DataArray.           |
| `stack`(variables, dim)                                                | Create a new index by stacking coordinate variables into a single new dimension.                 |
| `to_pandas_index`()                                                    | Cast this xarray index to a pandas.Index object or raise a `TypeError` if this is not supported. |
| `unstack`()                                                            | Unstack a (multi-)index into multiple (single) indexes.                                          |

### Attributes

| `transform`   |    |
|---------------|----|
