Skip to content

Commit a98dd0e

Browse files
committed
BUG: Fix Index.putmask not to make stack overflow with an invalid mask
1 parent 1798c9d commit a98dd0e

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

pandas/core/indexes/base.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1934,9 +1934,12 @@ def putmask(self, mask, value):
19341934
try:
19351935
np.putmask(values, mask, self._convert_for_op(value))
19361936
return self._shallow_copy(values)
1937-
except (ValueError, TypeError):
1938-
# coerces to object
1939-
return self.astype(object).putmask(mask, value)
1937+
except (ValueError, TypeError) as err:
1938+
if self.dtype == np.dtype(object):
1939+
raise err
1940+
else:
1941+
# coerces to object
1942+
return self.astype(object).putmask(mask, value)
19401943

19411944
def format(self, name=False, formatter=None, **kwargs):
19421945
"""

0 commit comments

Comments
 (0)