nodes: 0, module; 1, function_definition; 2, function_name:sort_values; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, default_parameter; 10, default_parameter; 11, default_parameter; 12, expression_statement; 13, raise_statement; 14, identifier:by; 15, None; 16, identifier:axis; 17, integer:0; 18, identifier:ascending; 19, True; 20, identifier:inplace; 21, False; 22, identifier:kind; 23, string; 24, identifier:na_position; 25, string; 26, comment:"""
          Sort by the values along either axis.
  
          Parameters
          ----------%(optional_by)s
          axis : %(axes_single_arg)s, default 0
               Axis to be sorted.
          ascending : bool or list of bool, default True
               Sort ascending vs. descending. Specify list for multiple sort
               orders.  If this is a list of bools, must match the length of
               the by.
          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.
  
          Returns
          -------
          sorted_obj : DataFrame or None
              DataFrame with sorted values if inplace=False, None otherwise.
  
          Examples
          --------
          >>> df = pd.DataFrame({
          ...     'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],
          ...     'col2': [2, 1, 9, 8, 7, 4],
          ...     'col3': [0, 1, 9, 4, 2, 3],
          ... })
          >>> df
              col1 col2 col3
          0   A    2    0
          1   A    1    1
          2   B    9    9
          3   NaN  8    4
          4   D    7    2
          5   C    4    3
  
          Sort by col1
  
          >>> df.sort_values(by=['col1'])
              col1 col2 col3
          0   A    2    0
          1   A    1    1
          2   B    9    9
          5   C    4    3
          4   D    7    2
          3   NaN  8    4
  
          Sort by multiple columns
  
          >>> df.sort_values(by=['col1', 'col2'])
              col1 col2 col3
          1   A    1    1
          0   A    2    0
          2   B    9    9
          5   C    4    3
          4   D    7    2
          3   NaN  8    4
  
          Sort Descending
  
          >>> df.sort_values(by='col1', ascending=False)
              col1 col2 col3
          4   D    7    2
          5   C    4    3
          2   B    9    9
          0   A    2    0
          1   A    1    1
          3   NaN  8    4
  
          Putting NAs first
  
          >>> df.sort_values(by='col1', ascending=False, na_position='first')
              col1 col2 col3
          3   NaN  8    4
          4   D    7    2
          5   C    4    3
          2   B    9    9
          0   A    2    0
          1   A    1    1
          """; 27, call; 28, string_content:quicksort; 29, string_content:last; 30, identifier:NotImplementedError; 31, argument_list; 32, concatenated_string; 33, string:"sort_values has not been implemented "; 34, string:"on Panel or Panel4D objects."
code: def sort_values(self, by=None, axis=0, ascending=True, inplace=False,
                      kind='quicksort', na_position='last'):
          """
          Sort by the values along either axis.
  
          Parameters
          ----------%(optional_by)s
          axis : %(axes_single_arg)s, default 0
               Axis to be sorted.
          ascending : bool or list of bool, default True
               Sort ascending vs. descending. Specify list for multiple sort
               orders.  If this is a list of bools, must match the length of
               the by.
          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.
  
          Returns
          -------
          sorted_obj : DataFrame or None
              DataFrame with sorted values if inplace=False, None otherwise.
  
          Examples
          --------
          >>> df = pd.DataFrame({
          ...     'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],
          ...     'col2': [2, 1, 9, 8, 7, 4],
          ...     'col3': [0, 1, 9, 4, 2, 3],
          ... })
          >>> df
              col1 col2 col3
          0   A    2    0
          1   A    1    1
          2   B    9    9
          3   NaN  8    4
          4   D    7    2
          5   C    4    3
  
          Sort by col1
  
          >>> df.sort_values(by=['col1'])
              col1 col2 col3
          0   A    2    0
          1   A    1    1
          2   B    9    9
          5   C    4    3
          4   D    7    2
          3   NaN  8    4
  
          Sort by multiple columns
  
          >>> df.sort_values(by=['col1', 'col2'])
              col1 col2 col3
          1   A    1    1
          0   A    2    0
          2   B    9    9
          5   C    4    3
          4   D    7    2
          3   NaN  8    4
  
          Sort Descending
  
          >>> df.sort_values(by='col1', ascending=False)
              col1 col2 col3
          4   D    7    2
          5   C    4    3
          2   B    9    9
          0   A    2    0
          1   A    1    1
          3   NaN  8    4
  
          Putting NAs first
  
          >>> df.sort_values(by='col1', ascending=False, na_position='first')
              col1 col2 col3
          3   NaN  8    4
          4   D    7    2
          5   C    4    3
          2   B    9    9
          0   A    2    0
          1   A    1    1
          """
          raise NotImplementedError("sort_values has not been implemented "
                                    "on Panel or Panel4D objects.")