Skip to content

Commit d008640

Browse files
INT: Use Index._getitem_slice in ArrayManager (#40369)
1 parent 65abf6b commit d008640

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

pandas/core/internals/array_manager.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)