From 5cde4f7fd2437425a3c5d4f64fa1ba714953f7bc Mon Sep 17 00:00:00 2001 From: Qiqi Jiang Date: Mon, 31 Oct 2016 22:09:56 +0800 Subject: [PATCH] BUG: fix categorical searchsorted bug (#14522) --- pandas/core/categorical.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pandas/core/categorical.py b/pandas/core/categorical.py index fd1a23a5bab7f..63e9a74d757ee 100644 --- a/pandas/core/categorical.py +++ b/pandas/core/categorical.py @@ -1085,8 +1085,11 @@ def searchsorted(self, v, side='left', sorter=None): "ordered one") from pandas.core.series import Series - values_as_codes = self.categories.values.searchsorted( - Series(v).values, side=side) + cvalues = self.categories.values + values_as_codes = np.where(cvalues == Series(v).values)[0] + + if side == 'right': + values_as_codes = cvalues.size - values_as_codes return self.codes.searchsorted(values_as_codes, sorter=sorter)