#### Previous topic

numpy.union1d

#### Next topic

numpy.in1d

# numpy.unique

`numpy.``unique`(ar, return_index=False, return_inverse=False)

  Find the unique elements of an array.

  Returns the sorted unique elements of an array. There are two optional outputs in addition to the unique elements: the indices of the input array that give the unique values, and the indices of the unique array that reconstruct the input array.

  Parameters : | ar : array_like Input array. This will be flattened if it is not already 1-D. return_index : bool, optional If True, also return the indices of ar that result in the unique array. return_inverse : bool, optional If True, also return the indices of the unique array that can be used to reconstruct ar.
  Returns : | unique : ndarray The sorted unique values. unique_indices : ndarray, optional The indices of the first occurrences of the unique values in the (flattened) original array. Only provided if return_index is True. unique_inverse : ndarray, optional The indices to reconstruct the (flattened) original array from the unique array. Only provided if return_inverse is True.

  See also

  `numpy.lib.arraysetops`
    Module with a number of other functions for performing set operations on arrays.

  Examples

      >>> np.unique([1, 1, 2, 2, 3, 3])
      array([1, 2, 3])
      >>> a = np.array([[1, 1], [2, 3]])
      >>> np.unique(a)
      array([1, 2, 3])

  Return the indices of the original array that give the unique values:

      >>> a = np.array(['a', 'b', 'b', 'c', 'a'])
      >>> u, indices = np.unique(a, return_index=True)
      >>> u
      array(['a', 'b', 'c'],
             dtype='|S1')
      >>> indices
      array([0, 1, 3])
      >>> a[indices]
      array(['a', 'b', 'c'],
             dtype='|S1')

  Reconstruct the input array from the unique values:

      >>> a = np.array([1, 2, 6, 4, 2, 3, 2])
      >>> u, indices = np.unique(a, return_inverse=True)
      >>> u
      array([1, 2, 3, 4, 6])
      >>> indices
      array([0, 1, 4, 3, 1, 2, 1])
      >>> u[indices]
      array([1, 2, 6, 4, 2, 3, 2])