# Cannot see behavior of unique() method of numpy

Asked 2 months ago, Updated 2 months ago, 2 views

I am having trouble knowing the behavior of the unique() method of numpy at all.

``````import numpy as np
list_with_dupes=[1, 5, 6, 2, 5, 6, 8, 3, 3, 3, 7, 9]
# (array([1, 2, 3, 5, 6, 7, 8, 9]) Returns an index with deduplication?
print(np.unique(list_with_dupes, return_index=True))
array_with_dupes=np.array([1, 5, 7, 3, 9, 11, 23], [2, 4, 6, 8, 2, 8, 4]])
print(np.unique(array_with_dupes))
``````

If you print using unique() method from two sets, the answer seems to be this value.

``````#array([0,3,7,1,2,11,6,12], dtype=int64)
#[ 1  2  3  4  5  6  7  8  9 11 23]
``````

I don't understand the meaning of the answer to array([0,3,7,1,2,11,6,12], dtype=int64]). Could you please let me know?

python numpy

2022-09-30 12:07

In `np.unique`, `return_index=True` returns a matrix with unique elements and an index for the matrix given as input.I think you can get the same element as unique_array if you put index into the first matrix as shown below.

``````import numpy as np
list_with_dupes=[1, 5, 6, 2, 5, 6, 8, 3, 3, 3, 7, 9]

unique_array, index_array=np.unique(list_with_dupes, return_index=True)

print('unique array:',unique_array)
# unique array: [1 2 3 5 6789]
print('index array', index_array')
# index array [0 3 7 1 2 11 6 12]
print([list_with_dupes [idx]) for idx in index_array])
# [1, 2, 3, 5, 6, 7, 8, 9]
``````

2022-09-30 12:07

## If you have any answers or tips

Popular Tags
python x 4439
android x 1590
java x 1475
javascript x 1386
c x 903
c++ x 832
ruby-on-rails x 681
php x 678
python3 x 651
html x 631