From d22e816034416a1e3ba314b9629c40027a4d0905 Mon Sep 17 00:00:00 2001 From: ShaharBental Date: Mon, 26 Dec 2016 13:44:19 +0200 Subject: [PATCH 1/2] GH14833: Added searchsorted to MultiIndex Added searchsorted implementation to MultiIndex --- pandas/indexes/multi.py | 20 ++++++++++++++++++++ pandas/tests/test_multilevel.py | 12 ++++++++++++ 2 files changed, 32 insertions(+) diff --git a/pandas/indexes/multi.py b/pandas/indexes/multi.py index 132543e0e386c..c6c93113b5e56 100644 --- a/pandas/indexes/multi.py +++ b/pandas/indexes/multi.py @@ -1470,6 +1470,26 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None): return _ensure_platform_int(indexer) + def searchsorted(self, value, side='left', sorter=None): + ans = [] + for val in value: + left_index=0 + right_index=None + for dim in range(0,self.labels.__len__()): + v=self.levels[dim][self.labels[dim]] + if right_index==None: right_index=len(v) + v=v[left_index:right_index] + if (dim Date: Mon, 26 Dec 2016 20:28:20 +0200 Subject: [PATCH 2/2] GH14833: changed implementation to simply raise a NotImplementedException --- pandas/indexes/multi.py | 19 +------------------ pandas/tests/test_multilevel.py | 15 +++++---------- 2 files changed, 6 insertions(+), 28 deletions(-) diff --git a/pandas/indexes/multi.py b/pandas/indexes/multi.py index c6c93113b5e56..1b1c30b8d0d6b 100644 --- a/pandas/indexes/multi.py +++ b/pandas/indexes/multi.py @@ -1471,24 +1471,7 @@ def get_indexer(self, target, method=None, limit=None, tolerance=None): return _ensure_platform_int(indexer) def searchsorted(self, value, side='left', sorter=None): - ans = [] - for val in value: - left_index=0 - right_index=None - for dim in range(0,self.labels.__len__()): - v=self.levels[dim][self.labels[dim]] - if right_index==None: right_index=len(v) - v=v[left_index:right_index] - if (dim