diff --git a/pandas/core/internals/array_manager.py b/pandas/core/internals/array_manager.py index 4b60cec55a2ba..e7431bee50374 100644 --- a/pandas/core/internals/array_manager.py +++ b/pandas/core/internals/array_manager.py @@ -793,12 +793,10 @@ def get_slice(self, slobj: slice, axis: int = 0) -> ArrayManager: arrays = self.arrays[slobj] new_axes = list(self._axes) - new_axes[axis] = new_axes[axis][slobj] + new_axes[axis] = new_axes[axis]._getitem_slice(slobj) return type(self)(arrays, new_axes, verify_integrity=False) - getitem_mgr = get_slice - def fast_xs(self, loc: int) -> ArrayLike: """ Return the array corresponding to `frame.iloc[loc]`. @@ -1235,7 +1233,12 @@ def get_slice(self, slobj: slice, axis: int = 0) -> SingleArrayManager: raise IndexError("Requested axis not found in manager") new_array = self.array[slobj] - new_index = self.index[slobj] + new_index = self.index._getitem_slice(slobj) + return type(self)([new_array], [new_index], verify_integrity=False) + + def getitem_mgr(self, indexer) -> SingleArrayManager: + new_array = self.array[indexer] + new_index = self.index[indexer] return type(self)([new_array], [new_index]) def apply(self, func, **kwargs):