diff --git a/pandas/core/indexes/category.py b/pandas/core/indexes/category.py index 5b98b956e33e6..c085d68b36bc3 100644 --- a/pandas/core/indexes/category.py +++ b/pandas/core/indexes/category.py @@ -386,15 +386,6 @@ def fillna(self, value, downcast=None): return type(self)._simple_new(cat, name=self.name) - @doc(Index.unique) - def unique(self, level=None): - if level is not None: - self._validate_index_level(level) - result = self._values.unique() - # Use _simple_new instead of _shallow_copy to ensure we keep dtype - # of result, not self. - return type(self)._simple_new(result, name=self.name) - def reindex( self, target, method=None, level=None, limit=None, tolerance=None ) -> tuple[Index, np.ndarray | None]: diff --git a/pandas/core/indexes/extension.py b/pandas/core/indexes/extension.py index b11ec06120e0c..d28bcd6c5497a 100644 --- a/pandas/core/indexes/extension.py +++ b/pandas/core/indexes/extension.py @@ -331,7 +331,7 @@ def _get_unique_index(self): return self result = self._data.unique() - return self._shallow_copy(result) + return type(self)._simple_new(result, name=self.name) @doc(Index.map) def map(self, mapper, na_action=None):