From 30f0e025ff68339c5063baa19c79974e865f41f5 Mon Sep 17 00:00:00 2001 From: Brock Date: Sun, 1 Nov 2020 09:49:04 -0800 Subject: [PATCH] REF: move IntervalIndex.equals up to ExtensionIndex.equals --- pandas/core/indexes/extension.py | 11 +++++++++++ pandas/core/indexes/interval.py | 12 ------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/pandas/core/indexes/extension.py b/pandas/core/indexes/extension.py index 1f26ceaf2d1b7..90b73da8a53ba 100644 --- a/pandas/core/indexes/extension.py +++ b/pandas/core/indexes/extension.py @@ -283,6 +283,17 @@ def astype(self, dtype, copy=True): def _isnan(self) -> np.ndarray: return self._data.isna() + @doc(Index.equals) + def equals(self, other) -> bool: + # Dispatch to the ExtensionArray's .equals method. + if self.is_(other): + return True + + if not isinstance(other, type(self)): + return False + + return self._data.equals(other._data) + class NDArrayBackedExtensionIndex(ExtensionIndex): """ diff --git a/pandas/core/indexes/interval.py b/pandas/core/indexes/interval.py index b9d51f6895ef0..1bd71f00b534d 100644 --- a/pandas/core/indexes/interval.py +++ b/pandas/core/indexes/interval.py @@ -970,18 +970,6 @@ def _format_space(self) -> str: def argsort(self, *args, **kwargs) -> np.ndarray: return np.lexsort((self.right, self.left)) - def equals(self, other: object) -> bool: - """ - Determines if two IntervalIndex objects contain the same elements. - """ - if self.is_(other): - return True - - if not isinstance(other, IntervalIndex): - return False - - return self._data.equals(other._data) - # -------------------------------------------------------------------- # Set Operations