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
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]
© 2024 OneMinuteCode. All rights reserved.