parameters: (
      values, na_sentinel: int = -1, size_hint=None, na_value=None
  )
return_statement: return codes, uniques
docstring: Factorize an array-like to codes and uniques.
  
      This doesn't do any coercion of types or unboxing before factorization.
  
      Parameters
      ----------
      values : ndarray
      na_sentinel : int, default -1
      size_hint : int, optional
          Passsed through to the hashtable's 'get_labels' method
      na_value : object, optional
          A value in `values` to consider missing. Note: only use this
          parameter when you know that you don't have any values pandas would
          consider missing in the array (NaN for float data, iNaT for
          datetimes, etc.).
  
      Returns
      -------
      codes : ndarray
      uniques : ndarray
docstring_summary: Factorize an array-like to codes and uniques.
docstring_tokens: Factorize an array - like to codes and uniques .
function: def _factorize_array(
      values, na_sentinel: int = -1, size_hint=None, na_value=None
  ) -> Tuple[np.ndarray, np.ndarray]:
      """
      Factorize an array-like to codes and uniques.
  
      This doesn't do any coercion of types or unboxing before factorization.
  
      Parameters
      ----------
      values : ndarray
      na_sentinel : int, default -1
      size_hint : int, optional
          Passsed through to the hashtable's 'get_labels' method
      na_value : object, optional
          A value in `values` to consider missing. Note: only use this
          parameter when you know that you don't have any values pandas would
          consider missing in the array (NaN for float data, iNaT for
          datetimes, etc.).
  
      Returns
      -------
      codes : ndarray
      uniques : ndarray
      """
      hash_klass, values = _get_data_algo(values)
  
      table = hash_klass(size_hint or len(values))
      uniques, codes = table.factorize(values, na_sentinel=na_sentinel, na_value=na_value)
  
      codes = ensure_platform_int(codes)
      return codes, uniques
function_tokens: def _factorize_array ( values , na_sentinel : int = - 1 , size_hint = None , na_value = None ) -> Tuple [ np . ndarray , np . ndarray ] : hash_klass , values = _get_data_algo ( values ) table = hash_klass ( size_hint or len ( values ) ) uniques , codes = table . factorize ( values , na_sentinel = na_sentinel , na_value = na_value ) codes = ensure_platform_int ( codes ) return codes , uniques