Skip to content

Commit 7d545f0

Browse files
authored
PERF: Fix performance regression in get_loc of IntervalIndex (#51339)
1 parent 28780a8 commit 7d545f0

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

pandas/core/arrays/interval.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,6 @@ def _shallow_copy(self: IntervalArrayT, left, right) -> IntervalArrayT:
675675
"""
676676
dtype = IntervalDtype(left.dtype, closed=self.closed)
677677
left, right, dtype = self._ensure_simple_new_inputs(left, right, dtype=dtype)
678-
self._validate(left, right, dtype=dtype)
679678

680679
return self._simple_new(left, right, dtype=dtype)
681680

@@ -727,7 +726,11 @@ def __getitem__(
727726
if np.ndim(left) > 1:
728727
# GH#30588 multi-dimensional indexer disallowed
729728
raise ValueError("multi-dimensional indexing not allowed")
730-
return self._shallow_copy(left, right)
729+
# Argument 2 to "_simple_new" of "IntervalArray" has incompatible type
730+
# "Union[Period, Timestamp, Timedelta, NaTType, DatetimeArray, TimedeltaArray,
731+
# ndarray[Any, Any]]"; expected "Union[Union[DatetimeArray, TimedeltaArray],
732+
# ndarray[Any, Any]]"
733+
return self._simple_new(left, right, dtype=self.dtype) # type: ignore[arg-type]
731734

732735
def __setitem__(self, key, value) -> None:
733736
value_left, value_right = self._validate_setitem_value(value)

0 commit comments

Comments
 (0)