Skip to content

Commit 7954a90

Browse files
mattipstangirala
authored andcommitted
COMPAT: cython str-to-int can raise a ValueError on non-CPython (pandas-dev#16563)
1 parent 0a2c673 commit 7954a90

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

pandas/_libs/index.pyx

+2-2
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ cdef class IndexEngine:
152152

153153
try:
154154
return self.mapping.get_item(val)
155-
except TypeError:
155+
except (TypeError, ValueError):
156156
raise KeyError(val)
157157

158158
cdef inline _get_loc_duplicates(self, object val):
@@ -470,7 +470,7 @@ cdef class DatetimeEngine(Int64Engine):
470470
try:
471471
val = _to_i8(val)
472472
return self.mapping.get_item(val)
473-
except TypeError:
473+
except (TypeError, ValueError):
474474
self._date_check_type(val)
475475
raise KeyError(val)
476476

pandas/core/frame.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1918,7 +1918,7 @@ def get_value(self, index, col, takeable=False):
19181918

19191919
try:
19201920
return engine.get_value(series._values, index)
1921-
except TypeError:
1921+
except (TypeError, ValueError):
19221922

19231923
# we cannot handle direct indexing
19241924
# use positional

pandas/core/indexes/base.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1590,7 +1590,7 @@ def __contains__(self, key):
15901590
hash(key)
15911591
try:
15921592
return key in self._engine
1593-
except TypeError:
1593+
except (TypeError, ValueError):
15941594
return False
15951595

15961596
_index_shared_docs['contains'] = """
@@ -1610,7 +1610,7 @@ def contains(self, key):
16101610
hash(key)
16111611
try:
16121612
return key in self._engine
1613-
except TypeError:
1613+
except (TypeError, ValueError):
16141614
return False
16151615

16161616
def __hash__(self):

0 commit comments

Comments
 (0)