@@ -786,12 +786,10 @@ def get_slice(self, slobj: slice, axis: int = 0) -> ArrayManager:
786786 arrays = self .arrays [slobj ]
787787
788788 new_axes = list (self ._axes )
789- new_axes [axis ] = new_axes [axis ][ slobj ]
789+ new_axes [axis ] = new_axes [axis ]. _getitem_slice ( slobj )
790790
791791 return type (self )(arrays , new_axes , verify_integrity = False )
792792
793- getitem_mgr = get_slice
794-
795793 def fast_xs (self , loc : int ) -> ArrayLike :
796794 """
797795 Return the array corresponding to `frame.iloc[loc]`.
@@ -1218,7 +1216,12 @@ def get_slice(self, slobj: slice, axis: int = 0) -> SingleArrayManager:
12181216 raise IndexError ("Requested axis not found in manager" )
12191217
12201218 new_array = self .array [slobj ]
1221- new_index = self .index [slobj ]
1219+ new_index = self .index ._getitem_slice (slobj )
1220+ return type (self )([new_array ], [new_index ], verify_integrity = False )
1221+
1222+ def getitem_mgr (self , indexer ) -> SingleArrayManager :
1223+ new_array = self .array [indexer ]
1224+ new_index = self .index [indexer ]
12221225 return type (self )([new_array ], [new_index ])
12231226
12241227 def apply (self , func , ** kwargs ):
0 commit comments