Skip to content

Commit 2862b3d

Browse files
authored
CLN: convert_list_indexer is always kind=loc (#31599)
1 parent a89f7fd commit 2862b3d

File tree

5 files changed

+11
-33
lines changed

5 files changed

+11
-33
lines changed

pandas/core/indexes/base.py

Lines changed: 4 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
from pandas.core.arrays import ExtensionArray
6969
from pandas.core.base import IndexOpsMixin, PandasObject
7070
import pandas.core.common as com
71-
from pandas.core.indexers import deprecate_ndim_indexing, maybe_convert_indices
71+
from pandas.core.indexers import deprecate_ndim_indexing
7272
from pandas.core.indexes.frozen import FrozenList
7373
import pandas.core.missing as missing
7474
from pandas.core.ops import get_op_result_name
@@ -3212,7 +3212,7 @@ def is_int(v):
32123212

32133213
return indexer
32143214

3215-
def _convert_listlike_indexer(self, keyarr, kind=None):
3215+
def _convert_listlike_indexer(self, keyarr):
32163216
"""
32173217
Parameters
32183218
----------
@@ -3231,7 +3231,7 @@ def _convert_listlike_indexer(self, keyarr, kind=None):
32313231
else:
32323232
keyarr = self._convert_arr_indexer(keyarr)
32333233

3234-
indexer = self._convert_list_indexer(keyarr, kind=kind)
3234+
indexer = self._convert_list_indexer(keyarr)
32353235
return indexer, keyarr
32363236

32373237
def _convert_arr_indexer(self, keyarr):
@@ -3265,7 +3265,7 @@ def _convert_index_indexer(self, keyarr):
32653265
"""
32663266
return keyarr
32673267

3268-
def _convert_list_indexer(self, keyarr, kind=None):
3268+
def _convert_list_indexer(self, keyarr):
32693269
"""
32703270
Convert a list-like indexer to the appropriate dtype.
32713271
@@ -3279,29 +3279,6 @@ def _convert_list_indexer(self, keyarr, kind=None):
32793279
-------
32803280
positional indexer or None
32813281
"""
3282-
if (
3283-
kind in [None, "iloc"]
3284-
and is_integer_dtype(keyarr)
3285-
and not self.is_floating()
3286-
):
3287-
3288-
if self.inferred_type == "mixed-integer":
3289-
indexer = self.get_indexer(keyarr)
3290-
if (indexer >= 0).all():
3291-
return indexer
3292-
# missing values are flagged as -1 by get_indexer and negative
3293-
# indices are already converted to positive indices in the
3294-
# above if-statement, so the negative flags are changed to
3295-
# values outside the range of indices so as to trigger an
3296-
# IndexError in maybe_convert_indices
3297-
indexer[indexer < 0] = len(self)
3298-
3299-
return maybe_convert_indices(indexer, len(self))
3300-
3301-
elif not self.inferred_type == "integer":
3302-
keyarr = np.where(keyarr < 0, len(self) + keyarr, keyarr)
3303-
return keyarr
3304-
33053282
return None
33063283

33073284
def _invalid_indexer(self, form: str_t, key):

pandas/core/indexes/category.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -667,12 +667,12 @@ def _convert_scalar_indexer(self, key, kind=None):
667667
return super()._convert_scalar_indexer(key, kind=kind)
668668

669669
@Appender(Index._convert_list_indexer.__doc__)
670-
def _convert_list_indexer(self, keyarr, kind=None):
670+
def _convert_list_indexer(self, keyarr):
671671
# Return our indexer or raise if all of the values are not included in
672672
# the categories
673673

674674
if self.categories._defer_to_indexing:
675-
indexer = self.categories._convert_list_indexer(keyarr, kind=kind)
675+
indexer = self.categories._convert_list_indexer(keyarr)
676676
return Index(self.codes).get_indexer_for(indexer)
677677

678678
indexer = self.categories.get_indexer(np.asarray(keyarr))

pandas/core/indexes/interval.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,7 +537,7 @@ def _maybe_cast_slice_bound(self, label, side, kind):
537537
return getattr(self, side)._maybe_cast_slice_bound(label, side, kind)
538538

539539
@Appender(Index._convert_list_indexer.__doc__)
540-
def _convert_list_indexer(self, keyarr, kind=None):
540+
def _convert_list_indexer(self, keyarr):
541541
"""
542542
we are passed a list-like indexer. Return the
543543
indexer for matching intervals.

pandas/core/indexes/multi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2348,7 +2348,7 @@ def _try_mi(k):
23482348
else:
23492349
raise
23502350

2351-
def _convert_listlike_indexer(self, keyarr, kind=None):
2351+
def _convert_listlike_indexer(self, keyarr):
23522352
"""
23532353
Parameters
23542354
----------
@@ -2361,7 +2361,7 @@ def _convert_listlike_indexer(self, keyarr, kind=None):
23612361
indexer is an ndarray or None if cannot convert
23622362
keyarr are tuple-safe keys
23632363
"""
2364-
indexer, keyarr = super()._convert_listlike_indexer(keyarr, kind=kind)
2364+
indexer, keyarr = super()._convert_listlike_indexer(keyarr)
23652365

23662366
# are we indexing a specific level
23672367
if indexer is None and len(keyarr) and not isinstance(keyarr[0], tuple):

pandas/core/indexing.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1462,7 +1462,8 @@ def _get_listlike_indexer(self, key, axis: int, raise_missing: bool = False):
14621462

14631463
# Have the index compute an indexer or return None
14641464
# if it cannot handle:
1465-
indexer, keyarr = ax._convert_listlike_indexer(key, kind=self.name)
1465+
assert self.name == "loc"
1466+
indexer, keyarr = ax._convert_listlike_indexer(key)
14661467
# We only act on all found values:
14671468
if indexer is not None and (indexer != -1).all():
14681469
self._validate_read_indexer(key, indexer, axis, raise_missing=raise_missing)

0 commit comments

Comments
 (0)