Skip to content

Commit db179c4

Browse files
authored
REF: remove _get_join_target (#43788)
1 parent 7efe61d commit db179c4

File tree

3 files changed

+15
-19
lines changed

3 files changed

+15
-19
lines changed

pandas/core/indexes/base.py

+10-14
Original file line numberDiff line numberDiff line change
@@ -315,17 +315,17 @@ class Index(IndexOpsMixin, PandasObject):
315315
@final
316316
def _left_indexer_unique(self: _IndexT, other: _IndexT) -> npt.NDArray[np.intp]:
317317
# Caller is responsible for ensuring other.dtype == self.dtype
318-
sv = self._get_join_target()
319-
ov = other._get_join_target()
318+
sv = self._get_engine_target()
319+
ov = other._get_engine_target()
320320
return libjoin.left_join_indexer_unique(sv, ov)
321321

322322
@final
323323
def _left_indexer(
324324
self: _IndexT, other: _IndexT
325325
) -> tuple[ArrayLike, npt.NDArray[np.intp], npt.NDArray[np.intp]]:
326326
# Caller is responsible for ensuring other.dtype == self.dtype
327-
sv = self._get_join_target()
328-
ov = other._get_join_target()
327+
sv = self._get_engine_target()
328+
ov = other._get_engine_target()
329329
joined_ndarray, lidx, ridx = libjoin.left_join_indexer(sv, ov)
330330
joined = self._from_join_target(joined_ndarray)
331331
return joined, lidx, ridx
@@ -335,8 +335,8 @@ def _inner_indexer(
335335
self: _IndexT, other: _IndexT
336336
) -> tuple[ArrayLike, npt.NDArray[np.intp], npt.NDArray[np.intp]]:
337337
# Caller is responsible for ensuring other.dtype == self.dtype
338-
sv = self._get_join_target()
339-
ov = other._get_join_target()
338+
sv = self._get_engine_target()
339+
ov = other._get_engine_target()
340340
joined_ndarray, lidx, ridx = libjoin.inner_join_indexer(sv, ov)
341341
joined = self._from_join_target(joined_ndarray)
342342
return joined, lidx, ridx
@@ -346,8 +346,8 @@ def _outer_indexer(
346346
self: _IndexT, other: _IndexT
347347
) -> tuple[ArrayLike, npt.NDArray[np.intp], npt.NDArray[np.intp]]:
348348
# Caller is responsible for ensuring other.dtype == self.dtype
349-
sv = self._get_join_target()
350-
ov = other._get_join_target()
349+
sv = self._get_engine_target()
350+
ov = other._get_engine_target()
351351
joined_ndarray, lidx, ridx = libjoin.outer_join_indexer(sv, ov)
352352
joined = self._from_join_target(joined_ndarray)
353353
return joined, lidx, ridx
@@ -894,6 +894,8 @@ def ravel(self, order="C"):
894894
# Item "ndarray[Any, Any]" of "Union[ExtensionArray, ndarray[Any, Any]]"
895895
# has no attribute "_ndarray"
896896
values = self._data._ndarray # type: ignore[union-attr]
897+
elif is_interval_dtype(self.dtype):
898+
values = np.asarray(self._data)
897899
else:
898900
values = self._get_engine_target()
899901
return values.ravel(order=order)
@@ -4618,12 +4620,6 @@ def _get_engine_target(self) -> np.ndarray:
46184620
# ndarray]", expected "ndarray")
46194621
return self._values # type: ignore[return-value]
46204622

4621-
def _get_join_target(self) -> np.ndarray:
4622-
"""
4623-
Get the ndarray that we will pass to libjoin functions.
4624-
"""
4625-
return self._get_engine_target()
4626-
46274623
def _from_join_target(self, result: np.ndarray) -> ArrayLike:
46284624
"""
46294625
Cast the ndarray returned from one of the libjoin.foo_indexer functions

pandas/core/indexes/extension.py

-3
Original file line numberDiff line numberDiff line change
@@ -243,9 +243,6 @@ def searchsorted(
243243

244244
# ---------------------------------------------------------------------
245245

246-
def _get_engine_target(self) -> np.ndarray:
247-
return np.asarray(self._data)
248-
249246
def delete(self, loc):
250247
"""
251248
Make new Index with passed location(-s) deleted

pandas/core/indexes/interval.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -892,11 +892,14 @@ def _is_all_dates(self) -> bool:
892892
"""
893893
return False
894894

895-
def _get_join_target(self) -> np.ndarray:
895+
def _get_engine_target(self) -> np.ndarray:
896896
# Note: we _could_ use libjoin functions by either casting to object
897897
# dtype or constructing tuples (faster than constructing Intervals)
898898
# but the libjoin fastpaths are no longer fast in these cases.
899-
raise NotImplementedError("IntervalIndex does not use libjoin fastpaths")
899+
raise NotImplementedError(
900+
"IntervalIndex does not use libjoin fastpaths or pass values to "
901+
"IndexEngine objects"
902+
)
900903

901904
def _from_join_target(self, result):
902905
raise NotImplementedError("IntervalIndex does not use libjoin fastpaths")

0 commit comments

Comments
 (0)