@@ -591,12 +591,6 @@ def _get_label(self, label, axis: int):
591
591
592
592
return self .obj ._xs (label , axis = axis )
593
593
594
- def _get_loc (self , key : int , axis : int ):
595
- return self .obj ._ixs (key , axis = axis )
596
-
597
- def _slice (self , obj , axis : int , kind = None ):
598
- return self .obj ._slice (obj , axis = axis , kind = kind )
599
-
600
594
def _get_setitem_indexer (self , key ):
601
595
if self .axis is not None :
602
596
return self ._convert_tuple (key , is_setter = True )
@@ -702,17 +696,6 @@ def _convert_tuple(self, key, is_setter: bool = False):
702
696
keyidx .append (idx )
703
697
return tuple (keyidx )
704
698
705
- def _convert_scalar_indexer (self , key , axis : int ):
706
- # if we are accessing via lowered dim, use the last dim
707
- ax = self .obj ._get_axis (min (axis , self .ndim - 1 ))
708
- # a scalar
709
- return ax ._convert_scalar_indexer (key , kind = self .name )
710
-
711
- def _convert_slice_indexer (self , key : slice , axis : int ):
712
- # if we are accessing via lowered dim, use the last dim
713
- ax = self .obj ._get_axis (min (axis , self .ndim - 1 ))
714
- return ax ._convert_slice_indexer (key , kind = self .name )
715
-
716
699
def _has_valid_setitem_indexer (self , indexer ) -> bool :
717
700
return True
718
701
@@ -1627,7 +1610,8 @@ def _validate_key(self, key, axis: int):
1627
1610
return
1628
1611
1629
1612
if not is_list_like_indexer (key ):
1630
- self ._convert_scalar_indexer (key , axis )
1613
+ labels = self .obj ._get_axis (axis )
1614
+ labels ._convert_scalar_indexer (key , kind = "loc" )
1631
1615
1632
1616
def _is_scalar_access (self , key : Tuple ) -> bool :
1633
1617
"""
@@ -1772,7 +1756,7 @@ def _get_slice_axis(self, slice_obj: slice, axis: int):
1772
1756
)
1773
1757
1774
1758
if isinstance (indexer , slice ):
1775
- return self ._slice (indexer , axis = axis , kind = "iloc" )
1759
+ return self .obj . _slice (indexer , axis = axis , kind = "iloc" )
1776
1760
else :
1777
1761
# DatetimeIndex overrides Index.slice_indexer and may
1778
1762
# return a DatetimeIndex instead of a slice object.
@@ -1796,12 +1780,12 @@ def _convert_to_indexer(self, key, axis: int, is_setter: bool = False):
1796
1780
labels = self .obj ._get_axis (axis )
1797
1781
1798
1782
if isinstance (key , slice ):
1799
- return self ._convert_slice_indexer (key , axis )
1783
+ return labels ._convert_slice_indexer (key , kind = "loc" )
1800
1784
1801
1785
if is_scalar (key ):
1802
1786
# try to find out correct indexer, if not type correct raise
1803
1787
try :
1804
- key = self ._convert_scalar_indexer (key , axis )
1788
+ key = labels ._convert_scalar_indexer (key , kind = "loc" )
1805
1789
except TypeError :
1806
1790
# but we will allow setting
1807
1791
if not is_setter :
@@ -2025,7 +2009,7 @@ def _getitem_axis(self, key, axis: int):
2025
2009
# validate the location
2026
2010
self ._validate_integer (key , axis )
2027
2011
2028
- return self ._get_loc (key , axis = axis )
2012
+ return self .obj . _ixs (key , axis = axis )
2029
2013
2030
2014
def _get_slice_axis (self , slice_obj : slice , axis : int ):
2031
2015
# caller is responsible for ensuring non-None axis
@@ -2034,19 +2018,22 @@ def _get_slice_axis(self, slice_obj: slice, axis: int):
2034
2018
if not need_slice (slice_obj ):
2035
2019
return obj .copy (deep = False )
2036
2020
2037
- indexer = self ._convert_slice_indexer (slice_obj , axis )
2038
- return self ._slice (indexer , axis = axis , kind = "iloc" )
2021
+ labels = obj ._get_axis (axis )
2022
+ indexer = labels ._convert_slice_indexer (slice_obj , kind = "iloc" )
2023
+ return self .obj ._slice (indexer , axis = axis , kind = "iloc" )
2039
2024
2040
2025
def _convert_to_indexer (self , key , axis : int , is_setter : bool = False ):
2041
2026
"""
2042
2027
Much simpler as we only have to deal with our valid types.
2043
2028
"""
2029
+ labels = self .obj ._get_axis (axis )
2030
+
2044
2031
# make need to convert a float key
2045
2032
if isinstance (key , slice ):
2046
- return self ._convert_slice_indexer (key , axis )
2033
+ return labels ._convert_slice_indexer (key , kind = "iloc" )
2047
2034
2048
2035
elif is_float (key ):
2049
- return self ._convert_scalar_indexer (key , axis )
2036
+ return labels ._convert_scalar_indexer (key , kind = "iloc" )
2050
2037
2051
2038
self ._validate_key (key , axis )
2052
2039
return key
0 commit comments