From ae446bc1b6eb9b741afe5bc95abce448c1112146 Mon Sep 17 00:00:00 2001 From: LeakedMemory Date: Wed, 4 Jul 2018 20:03:25 -0500 Subject: [PATCH] fix issue #21654 --- doc/source/whatsnew/v0.24.0.txt | 2 +- pandas/core/indexes/multi.py | 25 --- .../indexes/multi/data/mindex_073.pickle | Bin 670 -> 0 bytes .../indexes/multi/data/multiindex_v1.pickle | 149 ------------------ pandas/tests/indexes/multi/test_analytics.py | 4 - pandas/tests/indexes/multi/test_conversion.py | 45 +----- 6 files changed, 3 insertions(+), 222 deletions(-) delete mode 100644 pandas/tests/indexes/multi/data/mindex_073.pickle delete mode 100644 pandas/tests/indexes/multi/data/multiindex_v1.pickle diff --git a/doc/source/whatsnew/v0.24.0.txt b/doc/source/whatsnew/v0.24.0.txt index 8cb384f50d371..efd4028f2eada 100644 --- a/doc/source/whatsnew/v0.24.0.txt +++ b/doc/source/whatsnew/v0.24.0.txt @@ -513,7 +513,7 @@ Missing MultiIndex ^^^^^^^^^^ -- +- Removed compatibility for MultiIndex pickles prior to version 0.8.0; compatibility with MultiIndex pickles from version 0.13 forward is maintained (:issue:`21654`) - - diff --git a/pandas/core/indexes/multi.py b/pandas/core/indexes/multi.py index 7d24a901382bb..4912014b43773 100644 --- a/pandas/core/indexes/multi.py +++ b/pandas/core/indexes/multi.py @@ -824,15 +824,6 @@ def values(self): self._tuples = lib.fast_zip(values) return self._tuples - # fml - @property - def _is_v1(self): - return False - - @property - def _is_v2(self): - return False - @property def _has_complex_internals(self): # to disable groupby tricks @@ -2843,22 +2834,6 @@ def delete(self, loc): return MultiIndex(levels=self.levels, labels=new_labels, names=self.names, verify_integrity=False) - get_major_bounds = slice_locs - - __bounds = None - - @property - def _bounds(self): - """ - Return or compute and return slice points for level 0, assuming - sortedness - """ - if self.__bounds is None: - inds = np.arange(len(self.levels[0])) - self.__bounds = self.labels[0].searchsorted(inds) - - return self.__bounds - def _wrap_joined_index(self, joined, other): names = self.names if self.names == other.names else None return MultiIndex.from_tuples(joined, names=names) diff --git a/pandas/tests/indexes/multi/data/mindex_073.pickle b/pandas/tests/indexes/multi/data/mindex_073.pickle deleted file mode 100644 index c99f51fa289ac53b0301d25dc3dec5cc61b670e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 670 zcmaJ;%TB{E5R8+Shj~Lw%i{xb>IoqZNSupBKu9@8C`pZ6i6-6PN>t*&B}V;fSf|-m zAc_weC$lp>-DOeX0Ej4t(`j>VBp# zFY45Xi_}LpwO1+(I;5bjD(LmkpbiENyH0&rjc$!P^q%t^+NDVpQ%n0}Yu_wYYZm&e zv|dd#mR?C*KnJ~K1YJ8#wJDB!s5S&Ai} 0.8.0 format manage - path = datapath('indexes', 'multi', 'data', 'mindex_073.pickle') - obj = pd.read_pickle(path) - - obj2 = MultiIndex.from_tuples(obj.values) - assert obj.equals(obj2) - - res = obj.get_indexer(obj) - exp = np.arange(len(obj), dtype=np.intp) - assert_almost_equal(res, exp) - - res = obj.get_indexer(obj2[::-1]) - exp = obj.get_indexer(obj[::-1]) - exp2 = obj2.get_indexer(obj2[::-1]) - assert_almost_equal(res, exp) - assert_almost_equal(exp, exp2) - - def test_roundtrip_pickle_with_tz(): # GH 8367 @@ -146,6 +104,7 @@ def test_roundtrip_pickle_with_tz(): def test_pickle(indices): + unpickled = tm.round_trip_pickle(indices) assert indices.equals(unpickled) original_name, indices.name = indices.name, 'foo'