@@ -840,12 +840,9 @@ def _ixs(self, i: int, axis: int = 0):
840840 """
841841 return self ._values [i ]
842842
843- def _slice (self , slobj : slice , axis : int = 0 , kind : str = "getitem" ) -> "Series" :
844- assert kind in ["getitem" , "iloc" ]
845- if kind == "getitem" :
846- # If called from getitem, we need to determine whether
847- # this slice is positional or label-based.
848- slobj = self .index ._convert_slice_indexer (slobj , kind = "getitem" )
843+ def _slice (self , slobj : slice , axis : int = 0 ) -> "Series" :
844+ # axis kwarg is retained for compat with NDFrame method
845+ # _slice is *always* positional
849846 return self ._get_values (slobj )
850847
851848 def __getitem__ (self , key ):
@@ -889,7 +886,10 @@ def __getitem__(self, key):
889886 def _get_with (self , key ):
890887 # other: fancy integer or otherwise
891888 if isinstance (key , slice ):
892- return self ._slice (key , kind = "getitem" )
889+ # _convert_slice_indexer to determing if this slice is positional
890+ # or label based, and if the latter, convert to positional
891+ slobj = self .index ._convert_slice_indexer (key , kind = "getitem" )
892+ return self ._slice (slobj )
893893 elif isinstance (key , ABCDataFrame ):
894894 raise TypeError (
895895 "Indexing a Series with DataFrame is not "
0 commit comments