@@ -786,12 +786,10 @@ def get_slice(self, slobj: slice, axis: int = 0) -> ArrayManager:
786
786
arrays = self .arrays [slobj ]
787
787
788
788
new_axes = list (self ._axes )
789
- new_axes [axis ] = new_axes [axis ][ slobj ]
789
+ new_axes [axis ] = new_axes [axis ]. _getitem_slice ( slobj )
790
790
791
791
return type (self )(arrays , new_axes , verify_integrity = False )
792
792
793
- getitem_mgr = get_slice
794
-
795
793
def fast_xs (self , loc : int ) -> ArrayLike :
796
794
"""
797
795
Return the array corresponding to `frame.iloc[loc]`.
@@ -1218,7 +1216,12 @@ def get_slice(self, slobj: slice, axis: int = 0) -> SingleArrayManager:
1218
1216
raise IndexError ("Requested axis not found in manager" )
1219
1217
1220
1218
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 ]
1222
1225
return type (self )([new_array ], [new_index ])
1223
1226
1224
1227
def apply (self , func , ** kwargs ):
0 commit comments