From 9b94968fb3d2b91c62b984938d420fac07652a4b Mon Sep 17 00:00:00 2001 From: Joris Van den Bossche Date: Mon, 6 Oct 2014 22:20:33 +0200 Subject: [PATCH] BUG: searchsorted sorter issue with 32bit platforms (GH8490) --- pandas/core/series.py | 3 +++ pandas/tests/test_series.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/pandas/core/series.py b/pandas/core/series.py index f313352ef9660..95a7b22b90338 100644 --- a/pandas/core/series.py +++ b/pandas/core/series.py @@ -1429,6 +1429,9 @@ def searchsorted(self, v, side='left', sorter=None): >>> x.searchsorted([1, 2], side='right', sorter=[0, 2, 1]) array([1, 3]) """ + if sorter is not None: + sorter = com._ensure_platform_int(sorter) + return self.values.searchsorted(Series(v).values, side=side, sorter=sorter) diff --git a/pandas/tests/test_series.py b/pandas/tests/test_series.py index 521eddbba2e09..d3f7414289053 100644 --- a/pandas/tests/test_series.py +++ b/pandas/tests/test_series.py @@ -6199,6 +6199,12 @@ def test_search_sorted_datetime64_list(self): e = np.array([1, 2]) tm.assert_array_equal(r, e) + def test_searchsorted_sorter(self): + # GH8490 + s = Series([3, 1, 2]) + r = s.searchsorted([0, 3], sorter=np.argsort(s)) + e = np.array([0, 2]) + tm.assert_array_equal(r, e)