@@ -1093,7 +1093,7 @@ def _getitem_iterable(self, key, axis=0):
1093
1093
if is_bool_indexer (key ):
1094
1094
key = check_bool_indexer (labels , key )
1095
1095
inds , = key .nonzero ()
1096
- return self .obj .take (inds , axis = axis )
1096
+ return self .obj ._take (inds , axis = axis , convert = False )
1097
1097
else :
1098
1098
# Have the index compute an indexer or return None
1099
1099
# if it cannot handle; we only act on all found values
@@ -1126,14 +1126,15 @@ def _getitem_iterable(self, key, axis=0):
1126
1126
keyarr )
1127
1127
1128
1128
if new_indexer is not None :
1129
- result = self .obj .take (indexer [indexer != - 1 ], axis = axis )
1129
+ result = self .obj ._take (indexer [indexer != - 1 ], axis = axis ,
1130
+ convert = False )
1130
1131
1131
1132
result = result ._reindex_with_indexers (
1132
1133
{axis : [new_target , new_indexer ]},
1133
1134
copy = True , allow_dups = True )
1134
1135
1135
1136
else :
1136
- result = self .obj .take (indexer , axis = axis )
1137
+ result = self .obj ._take (indexer , axis = axis , convert = False )
1137
1138
1138
1139
return result
1139
1140
@@ -1264,7 +1265,7 @@ def _get_slice_axis(self, slice_obj, axis=0):
1264
1265
if isinstance (indexer , slice ):
1265
1266
return self ._slice (indexer , axis = axis , kind = 'iloc' )
1266
1267
else :
1267
- return self .obj .take (indexer , axis = axis )
1268
+ return self .obj ._take (indexer , axis = axis , convert = False )
1268
1269
1269
1270
1270
1271
class _IXIndexer (_NDFrameIndexer ):
@@ -1348,8 +1349,9 @@ def _getbool_axis(self, key, axis=0):
1348
1349
labels = self .obj ._get_axis (axis )
1349
1350
key = check_bool_indexer (labels , key )
1350
1351
inds , = key .nonzero ()
1352
+
1351
1353
try :
1352
- return self .obj .take (inds , axis = axis )
1354
+ return self .obj ._take (inds , axis = axis , convert = False )
1353
1355
except Exception as detail :
1354
1356
raise self ._exception (detail )
1355
1357
@@ -1366,7 +1368,7 @@ def _get_slice_axis(self, slice_obj, axis=0):
1366
1368
if isinstance (indexer , slice ):
1367
1369
return self ._slice (indexer , axis = axis , kind = 'iloc' )
1368
1370
else :
1369
- return self .obj .take (indexer , axis = axis )
1371
+ return self .obj ._take (indexer , axis = axis , convert = False )
1370
1372
1371
1373
1372
1374
class _LocIndexer (_LocationIndexer ):
@@ -1706,7 +1708,7 @@ def _get_slice_axis(self, slice_obj, axis=0):
1706
1708
if isinstance (slice_obj , slice ):
1707
1709
return self ._slice (slice_obj , axis = axis , kind = 'iloc' )
1708
1710
else :
1709
- return self .obj .take (slice_obj , axis = axis )
1711
+ return self .obj ._take (slice_obj , axis = axis , convert = False )
1710
1712
1711
1713
def _get_list_axis (self , key , axis = 0 ):
1712
1714
"""
@@ -1722,7 +1724,7 @@ def _get_list_axis(self, key, axis=0):
1722
1724
Series object
1723
1725
"""
1724
1726
try :
1725
- return self .obj .take (key , axis = axis )
1727
+ return self .obj ._take (key , axis = axis , convert = False )
1726
1728
except IndexError :
1727
1729
# re-raise with different error message
1728
1730
raise IndexError ("positional indexers are out-of-bounds" )
0 commit comments