# Find unique rows in a NumPy array

In this article, we will discuss how to find unique rows in a NumPy array. To find unique rows in a NumPy array we are using numpy.unique() function of NumPy library.

## Syntax of np.unique() in Python

Syntax: numpy.unique()

Parameter:

• ar: array
• return_index: Bool, if True return the indices of the input array
• return_inverse: Bool, if True return the indices of the input array
• return_counts: Bool, if True return the number of times each unique item appeared in the input array
• axis: int or none, defines the axis to operate on

### Examples to get unique rows in a NumPy array

Example 1:

Get unique rows from complete 2D-array.

## Python3

 `# import library``import` `numpy as np` `# Create a 2D numpy array``arr2D ``=` `np.array([[``11``, ``11``, ``12``, ``11``],``                     ``[``13``, ``11``, ``12``, ``11``],``                     ``[``16``, ``11``, ``12``, ``11``],``                     ``[``11``, ``11``, ``12``, ``11``]])` `print``(``'Original Array :'` `,``      ``arr2D, sep ``=` `'\n'``)` `uniqueRows ``=` `np.unique(arr2D)``                       `  `# print the output result``print``(``'Unique Rows:'``,``      ``uniqueRows, sep ``=` `'\n'``)`

Output:

```Original Array :
[[11 11 12 11]
[13 11 12 11]
[16 11 12 11]
[11 11 12 11]]
Unique Rows:
[11 12 13 16]```

Example 2:

Get unique rows from complete 2D-array by passing axis = 0 in unique function along with 2D-array. You will notice that rows 1 and 4 are the same hence one of the columns is excluded.

## Python3

 `# import library``import` `numpy as np` `# Create a 2D numpy array``arr2D ``=` `np.array([[``11``, ``11``, ``12``, ``11``],``                     ``[``13``, ``11``, ``12``, ``11``],``                     ``[``16``, ``11``, ``12``, ``11``],``                     ``[``11``, ``11``, ``12``, ``11``]])` `uniqueRows ``=` `np.unique(arr2D, axis``=``0``)``                       `  `# print the output result``print``(``'Unique Rows:'``,``      ``uniqueRows, sep ``=` `'\n'``)`

Output:

```Unique Rows:
[[11 11 12 11]
[13 11 12 11]
[16 11 12 11]]```

Example 3:

Get unique rows from complete 2D-array by passing axis=1 in unique function along with 2D-array. You will notice that columns 1 and 4 are the same hence one of the columns is excluded.

## Python3

 `# import library``import` `numpy as np` `# Create a 2D numpy array``arr2D ``=` `np.array([[``11``, ``11``, ``12``, ``11``],``                     ``[``13``, ``11``, ``12``, ``11``],``                     ``[``16``, ``11``, ``12``, ``11``],``                     ``[``11``, ``11``, ``12``, ``11``]])` `uniqueRows ``=` `np.unique(arr2D, axis``=``1``)``                       `  `# print the output result``print``(``'Unique Rows:'``,``      ``uniqueRows, sep ``=` `'\n'``)`

Output:

```Unique Rows:
[[11 11 12]
[11 13 12]
[11 16 12]
[11 11 12]]```

Example 4:

Returning the index of unique elements.

## Python3

 `# import library``import` `numpy as np` `# Create a 2D numpy array``arr2D ``=` `np.array([[``11``, ``11``, ``12``, ``11``],``                     ``[``13``, ``11``, ``12``, ``11``],``                     ``[``16``, ``11``, ``12``, ``11``],``                     ``[``11``, ``11``, ``12``, ``11``]])` `uniqueRows ``=` `np.unique(arr2D, return_index``=``True``)``                       `  `# print the output result``print``(``'Unique Rows:'``,``      ``uniqueRows, sep ``=` `'\n'``)`

Output:

```Unique Rows:
(array([11, 12, 13, 16]), array([0, 2, 4, 8], dtype=int64))```

Example 5:

In this output, a ndarray will be shown that contains the indices to reconstruct the original array from the unique array.

## Python3

 `# import library``import` `numpy as np` `# Create a 2D numpy array``arr2D ``=` `np.array([[``11``, ``11``, ``12``, ``11``],``                     ``[``13``, ``11``, ``12``, ``11``],``                     ``[``16``, ``11``, ``12``, ``11``],``                     ``[``11``, ``11``, ``12``, ``11``]])` `uniqueRows ``=` `np.unique(arr2D, return_inverse``=``True``)``                       `  `# print the output result``print``(``'Unique Rows:'``,``      ``uniqueRows, sep ``=` `'\n'``)`

Output:

```Unique Rows:
(array([11, 12, 13, 16]), array([0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 0, 0, 1, 0], dtype=int64))```

Previous
Next