def sort_index(self, axis=<NUM_LIT:0>, level=None, ascending=True, inplace=False,<EOL>kind='<STR_LIT>', na_position='<STR_LIT>', sort_remaining=True):
inplace = validate_bool_kwarg(inplace, '<STR_LIT>')<EOL>axis = self._get_axis_number(axis)<EOL>axis_name = self._get_axis_name(axis)<EOL>labels = self._get_axis(axis)<EOL>if level is not None:<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>if inplace:<EOL><INDENT>raise NotImplementedError("<STR_LIT>")<EOL><DEDENT>sort_index = labels.argsort()<EOL>if not ascending:<EOL><INDENT>sort_index = sort_index[::-<NUM_LIT:1>]<EOL><DEDENT>new_axis = labels.take(sort_index)<EOL>return self.reindex(**{axis_name: new_axis})<EOL>
Sort object by labels (along an axis).

Parameters
----------
axis : {0 or 'index', 1 or 'columns'}, default 0
    The axis along which to sort.  The value 0 identifies the rows,
    and 1 identifies the columns.
level : int or level name or list of ints or list of level names
    If not None, sort on values in specified index level(s).
ascending : bool, default True
    Sort ascending vs. descending.
inplace : bool, default False
    If True, perform operation in-place.
kind : {'quicksort', 'mergesort', 'heapsort'}, default 'quicksort'
    Choice of sorting algorithm. See also ndarray.np.sort for more
    information.  `mergesort` is the only stable algorithm. For
    DataFrames, this option is only applied when sorting on a single
    column or label.
na_position : {'first', 'last'}, default 'last'
    Puts NaNs at the beginning if `first`; `last` puts NaNs at the end.
    Not implemented for MultiIndex.
sort_remaining : bool, default True
    If True and sorting by level and index is multilevel, sort by other
    levels too (in order) after sorting by specified level.

Returns
-------
sorted_obj : DataFrame or None
    DataFrame with sorted index if inplace=False, None otherwise.