Skip to content

Commit 927d4ec

Browse files
authored
PERF: get_loc (#43862)
1 parent 3db765a commit 927d4ec

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pandas/_libs/index.pyx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,14 @@ cdef class IndexEngine:
116116
cdef:
117117
bint unique, monotonic_inc, monotonic_dec
118118
bint need_monotonic_check, need_unique_check
119+
object _np_type
119120

120121
def __init__(self, ndarray values):
121122
self.values = values
122123

123124
self.over_size_threshold = len(values) >= _SIZE_CUTOFF
124125
self.clear_mapping()
126+
self._np_type = values.dtype.type
125127

126128
def __contains__(self, val: object) -> bool:
127129
# We assume before we get here:
@@ -168,7 +170,7 @@ cdef class IndexEngine:
168170
See ObjectEngine._searchsorted_left.__doc__.
169171
"""
170172
# Caller is responsible for ensuring _check_type has already been called
171-
loc = self.values.searchsorted(val, side="left")
173+
loc = self.values.searchsorted(self._np_type(val), side="left")
172174
return loc
173175

174176
cdef inline _get_loc_duplicates(self, object val):

0 commit comments

Comments
 (0)