@@ -1613,10 +1613,8 @@ def _ixs(self, i, axis=0, copy=False):
16131613 else :
16141614 label = self .index [i ]
16151615 if isinstance (label , Index ):
1616-
16171616 # a location index by definition
1618- i = _maybe_convert_indices (i , len (self ._get_axis (axis )))
1619- result = self .reindex (i , takeable = True )
1617+ result = self .take (i , axis = axis )
16201618 copy = True
16211619 else :
16221620 new_values , copy = self ._data .fast_xs (i , copy = copy )
@@ -2124,41 +2122,38 @@ def lookup(self, row_labels, col_labels):
21242122 #----------------------------------------------------------------------
21252123 # Reindexing and alignment
21262124
2127- def _reindex_axes (self , axes , level , limit , method , fill_value , copy ,
2128- takeable = False ):
2125+ def _reindex_axes (self , axes , level , limit , method , fill_value , copy ):
21292126 frame = self
21302127
21312128 columns = axes ['columns' ]
21322129 if columns is not None :
21332130 frame = frame ._reindex_columns (columns , copy , level , fill_value ,
2134- limit , takeable = takeable )
2131+ limit )
21352132
21362133 index = axes ['index' ]
21372134 if index is not None :
21382135 frame = frame ._reindex_index (index , method , copy , level ,
2139- fill_value , limit , takeable = takeable )
2136+ fill_value , limit )
21402137
21412138 return frame
21422139
21432140 def _reindex_index (self , new_index , method , copy , level , fill_value = NA ,
2144- limit = None , takeable = False ):
2141+ limit = None ):
21452142 new_index , indexer = self .index .reindex (new_index , method , level ,
21462143 limit = limit ,
2147- copy_if_needed = True ,
2148- takeable = takeable )
2144+ copy_if_needed = True )
21492145 return self ._reindex_with_indexers ({0 : [new_index , indexer ]},
21502146 copy = copy , fill_value = fill_value ,
2151- allow_dups = takeable )
2147+ allow_dups = False )
21522148
21532149 def _reindex_columns (self , new_columns , copy , level , fill_value = NA ,
2154- limit = None , takeable = False ):
2150+ limit = None ):
21552151 new_columns , indexer = self .columns .reindex (new_columns , level = level ,
21562152 limit = limit ,
2157- copy_if_needed = True ,
2158- takeable = takeable )
2153+ copy_if_needed = True )
21592154 return self ._reindex_with_indexers ({1 : [new_columns , indexer ]},
21602155 copy = copy , fill_value = fill_value ,
2161- allow_dups = takeable )
2156+ allow_dups = False )
21622157
21632158 def _reindex_multi (self , axes , copy , fill_value ):
21642159 """ we are guaranteed non-Nones in the axes! """
@@ -2689,10 +2684,9 @@ def sortlevel(self, level=0, axis=0, ascending=True, inplace=False):
26892684 ax = 'index' if axis == 0 else 'columns'
26902685
26912686 if new_axis .is_unique :
2692- d = {ax : new_axis }
2687+ return self . reindex ( ** {ax : new_axis })
26932688 else :
2694- d = {ax : indexer , 'takeable' : True }
2695- return self .reindex (** d )
2689+ return self .take (indexer , axis = axis , convert = False )
26962690
26972691 if inplace :
26982692 if axis == 1 :
0 commit comments