From dabcf1a7a6bb74d53049d8b570f91e6b909552fe Mon Sep 17 00:00:00 2001 From: Brock Date: Mon, 21 Jun 2021 19:39:58 -0700 Subject: [PATCH] CLN: remove redundant _get_unique_index --- pandas/core/indexes/base.py | 12 +----------- pandas/core/indexes/extension.py | 7 ------- pandas/tests/indexes/multi/test_duplicates.py | 9 --------- pandas/tests/indexes/test_common.py | 8 ++++---- 4 files changed, 5 insertions(+), 31 deletions(-) diff --git a/pandas/core/indexes/base.py b/pandas/core/indexes/base.py index b092bd6666fc0..9032439b338bc 100644 --- a/pandas/core/indexes/base.py +++ b/pandas/core/indexes/base.py @@ -2752,16 +2752,6 @@ def duplicated(self, keep: Literal["first", "last", False] = "first") -> np.ndar return np.zeros(len(self), dtype=bool) return self._duplicated(keep=keep) - def _get_unique_index(self: _IndexT) -> _IndexT: - """ - Returns an index containing unique values. - - Returns - ------- - Index - """ - return self.unique() - # -------------------------------------------------------------------- # Arithmetic & Logical Methods @@ -3198,7 +3188,7 @@ def difference(self, other, sort=None): def _difference(self, other, sort): - this = self._get_unique_index() + this = self.unique() indexer = this.get_indexer_for(other) indexer = indexer.take((indexer != -1).nonzero()[0]) diff --git a/pandas/core/indexes/extension.py b/pandas/core/indexes/extension.py index 6ff20f7d009bc..872dce4b0dc61 100644 --- a/pandas/core/indexes/extension.py +++ b/pandas/core/indexes/extension.py @@ -364,13 +364,6 @@ def _validate_fill_value(self, value): """ return self._data._validate_setitem_value(value) - def _get_unique_index(self): - if self.is_unique: - return self - - result = self._data.unique() - return type(self)._simple_new(result, name=self.name) - @doc(Index.map) def map(self, mapper, na_action=None): # Try to run function on index first, and then on elements of index diff --git a/pandas/tests/indexes/multi/test_duplicates.py b/pandas/tests/indexes/multi/test_duplicates.py index c2b3647379234..1fd8b0f8b837a 100644 --- a/pandas/tests/indexes/multi/test_duplicates.py +++ b/pandas/tests/indexes/multi/test_duplicates.py @@ -74,15 +74,6 @@ def test_unique_level(idx, level): tm.assert_index_equal(result, expected) -def test_get_unique_index(idx): - mi = idx[[0, 1, 0, 1, 1, 0, 0]] - expected = mi._shallow_copy(mi[[0, 1]]) - - result = mi._get_unique_index() - assert result.unique - tm.assert_index_equal(result, expected) - - def test_duplicate_multiindex_codes(): # GH 17464 # Make sure that a MultiIndex with duplicate levels throws a ValueError diff --git a/pandas/tests/indexes/test_common.py b/pandas/tests/indexes/test_common.py index ec01e35673647..882e708a357c8 100644 --- a/pandas/tests/indexes/test_common.py +++ b/pandas/tests/indexes/test_common.py @@ -126,7 +126,7 @@ def test_copy_and_deepcopy(self, index_flat): new_copy = index.copy(deep=True, name="banana") assert new_copy.name == "banana" - def test_unique(self, index_flat): + def test_unique_level(self, index_flat): # don't test a MultiIndex here (as its tested separated) index = index_flat @@ -147,7 +147,7 @@ def test_unique(self, index_flat): with pytest.raises(KeyError, match=msg): index.unique(level="wrong") - def test_get_unique_index(self, index_flat): + def test_unique(self, index_flat): # MultiIndex tested separately index = index_flat if not len(index): @@ -164,7 +164,7 @@ def test_get_unique_index(self, index_flat): except NotImplementedError: pass - result = idx._get_unique_index() + result = idx.unique() tm.assert_index_equal(result, idx_unique) # nans: @@ -195,7 +195,7 @@ def test_get_unique_index(self, index_flat): expected = idx_unique_nan for i in [idx_nan, idx_unique_nan]: - result = i._get_unique_index() + result = i.unique() tm.assert_index_equal(result, expected) def test_searchsorted_monotonic(self, index_flat):