@@ -346,8 +346,9 @@ def __contains__(self, key: Union[int, np.integer]) -> bool:
346
346
@Appender (_index_shared_docs ['get_loc' ])
347
347
def get_loc (self , key , method = None , tolerance = None ):
348
348
if is_integer (key ) and method is None and tolerance is None :
349
+ new_key = int (key )
349
350
try :
350
- return self ._range .index (key )
351
+ return self ._range .index (new_key )
351
352
except ValueError :
352
353
raise KeyError (key )
353
354
return super ().get_loc (key , method = method , tolerance = tolerance )
@@ -608,19 +609,15 @@ def __getitem__(self, key):
608
609
"""
609
610
Conserve RangeIndex type for scalar and slice keys.
610
611
"""
611
- super_getitem = super ().__getitem__
612
-
613
612
if is_scalar (key ):
614
613
if not lib .is_integer (key ):
615
614
raise IndexError ("only integers, slices (`:`), "
616
615
"ellipsis (`...`), numpy.newaxis (`None`) "
617
616
"and integer or boolean "
618
617
"arrays are valid indices" )
619
- n = com .cast_scalar_indexer (key )
620
- if n != key :
621
- return super_getitem (key )
618
+ new_key = int (key )
622
619
try :
623
- return self ._range [key ]
620
+ return self ._range [new_key ]
624
621
except IndexError :
625
622
raise IndexError ("index {key} is out of bounds for axis 0 "
626
623
"with size {size}" .format (key = key ,
@@ -630,7 +627,7 @@ def __getitem__(self, key):
630
627
return self .from_range (new_range , name = self .name )
631
628
632
629
# fall back to Int64Index
633
- return super_getitem (key )
630
+ return super (). __getitem__ (key )
634
631
635
632
def __floordiv__ (self , other ):
636
633
if isinstance (other , (ABCSeries , ABCDataFrame )):
0 commit comments