@@ -164,7 +164,7 @@ def _slice(self, obj, axis: int, kind=None):
164164
165165 def _get_setitem_indexer (self , key ):
166166 if self .axis is not None :
167- return self ._convert_tuple (key , is_setter = True )
167+ return self ._convert_tuple (key )
168168
169169 ax = self .obj ._get_axis (0 )
170170
@@ -176,7 +176,7 @@ def _get_setitem_indexer(self, key):
176176
177177 if isinstance (key , tuple ):
178178 try :
179- return self ._convert_tuple (key , is_setter = True )
179+ return self ._convert_tuple (key )
180180 except IndexingError :
181181 pass
182182
@@ -185,7 +185,7 @@ def _get_setitem_indexer(self, key):
185185
186186 axis = self .axis or 0
187187 try :
188- return self ._convert_to_indexer (key , axis = axis , is_setter = True )
188+ return self ._convert_to_indexer (key , axis = axis )
189189 except TypeError as e :
190190
191191 # invalid indexer type vs 'other' indexing errors
@@ -241,22 +241,20 @@ def _is_nested_tuple_indexer(self, tup: Tuple):
241241 return any (is_nested_tuple (tup , ax ) for ax in self .obj .axes )
242242 return False
243243
244- def _convert_tuple (self , key , is_setter : bool = False ):
244+ def _convert_tuple (self , key ):
245245 keyidx = []
246246 if self .axis is not None :
247247 axis = self .obj ._get_axis_number (self .axis )
248248 for i in range (self .ndim ):
249249 if i == axis :
250- keyidx .append (
251- self ._convert_to_indexer (key , axis = axis , is_setter = is_setter )
252- )
250+ keyidx .append (self ._convert_to_indexer (key , axis = axis ))
253251 else :
254252 keyidx .append (slice (None ))
255253 else :
256254 for i , k in enumerate (key ):
257255 if i >= self .ndim :
258256 raise IndexingError ("Too many indexers" )
259- idx = self ._convert_to_indexer (k , axis = i , is_setter = is_setter )
257+ idx = self ._convert_to_indexer (k , axis = i )
260258 keyidx .append (idx )
261259 return tuple (keyidx )
262260
@@ -1184,9 +1182,7 @@ def _validate_read_indexer(
11841182 if not (ax .is_categorical () or ax .is_interval ()):
11851183 warnings .warn (_missing_key_warning , FutureWarning , stacklevel = 6 )
11861184
1187- def _convert_to_indexer (
1188- self , obj , axis : int , is_setter : bool = False , raise_missing : bool = False
1189- ):
1185+ def _convert_to_indexer (self , obj , axis : int , raise_missing : bool = False ):
11901186 """
11911187 Convert indexing key into something we can use to do actual fancy
11921188 indexing on an ndarray
@@ -1210,10 +1206,8 @@ def _convert_to_indexer(
12101206 try :
12111207 obj = self ._convert_scalar_indexer (obj , axis )
12121208 except TypeError :
1213-
12141209 # but we will allow setting
1215- if is_setter :
1216- pass
1210+ pass
12171211
12181212 # see if we are positional in nature
12191213 is_int_index = labels .is_integer ()
@@ -1224,7 +1218,7 @@ def _convert_to_indexer(
12241218 return labels .get_loc (obj )
12251219 except LookupError :
12261220 if isinstance (obj , tuple ) and isinstance (labels , MultiIndex ):
1227- if is_setter and len (obj ) == labels .nlevels :
1221+ if len (obj ) == labels .nlevels :
12281222 return {"key" : obj }
12291223 raise
12301224 except TypeError :
@@ -1238,17 +1232,14 @@ def _convert_to_indexer(
12381232
12391233 # if we are setting and its not a valid location
12401234 # its an insert which fails by definition
1241- if is_setter :
12421235
1236+ if self .name == "loc" :
12431237 # always valid
1244- if self .name == "loc" :
1245- return {"key" : obj }
1238+ return {"key" : obj }
12461239
1240+ if obj >= self .obj .shape [axis ] and not isinstance (labels , MultiIndex ):
12471241 # a positional
1248- if obj >= self .obj .shape [axis ] and not isinstance (labels , MultiIndex ):
1249- raise ValueError (
1250- "cannot set by positional indexing with enlargement"
1251- )
1242+ raise ValueError ("cannot set by positional indexing with enlargement" )
12521243
12531244 return obj
12541245
@@ -1263,14 +1254,13 @@ def _convert_to_indexer(
12631254 return inds
12641255 else :
12651256 # When setting, missing keys are not allowed, even with .loc:
1266- kwargs = {"raise_missing" : True if is_setter else raise_missing }
1267- return self ._get_listlike_indexer (obj , axis , ** kwargs )[1 ]
1257+ return self ._get_listlike_indexer (obj , axis , raise_missing = True )[1 ]
12681258 else :
12691259 try :
12701260 return labels .get_loc (obj )
12711261 except LookupError :
12721262 # allow a not found key only if we are a setter
1273- if not is_list_like_indexer (obj ) and is_setter :
1263+ if not is_list_like_indexer (obj ):
12741264 return {"key" : obj }
12751265 raise
12761266
@@ -2127,9 +2117,7 @@ def _getitem_axis(self, key, axis: int):
21272117 return self ._get_loc (key , axis = axis )
21282118
21292119 # raise_missing is included for compat with the parent class signature
2130- def _convert_to_indexer (
2131- self , obj , axis : int , is_setter : bool = False , raise_missing : bool = False
2132- ):
2120+ def _convert_to_indexer (self , obj , axis : int , raise_missing : bool = False ):
21332121 """ much simpler as we only have to deal with our valid types """
21342122
21352123 # make need to convert a float key
0 commit comments