nodes: 0, module; 1, function_definition; 2, function_name:_values_for_argsort; 3, parameters; 4, type; 5, block; 6, identifier:self; 7, attribute; 8, expression_statement; 9, expression_statement; 10, expression_statement; 11, return_statement; 12, identifier:np; 13, identifier:ndarray; 14, comment:"""Return values for sorting.
  
          Returns
          -------
          ndarray
              The transformed values should maintain the ordering between values
              within the array.
  
          See Also
          --------
          ExtensionArray.argsort
          """; 15, assignment; 16, assignment; 17, identifier:data; 18, identifier:data; 19, call; 20, subscript; 21, binary_operator:data.min() - 1; 22, attribute; 23, argument_list; 24, identifier:data; 25, attribute; 26, call; 27, integer:1; 28, attribute; 29, identifier:copy; 30, identifier:self; 31, identifier:_mask; 32, attribute; 33, argument_list; 34, identifier:self; 35, identifier:_data; 36, identifier:data; 37, identifier:min
code: def _values_for_argsort(self) -> np.ndarray:
          """Return values for sorting.
  
          Returns
          -------
          ndarray
              The transformed values should maintain the ordering between values
              within the array.
  
          See Also
          --------
          ExtensionArray.argsort
          """
          data = self._data.copy()
          data[self._mask] = data.min() - 1
          return data