logo

numpy.unique() у Python

Модуль numpy Python надає функцію для пошуку унікальних елементів у масиві numpy. Функція numpy.unique() знаходить унікальні елементи масиву та повертає ці унікальні елементи як відсортований масив. Окрім унікальних елементів, є також деякі додаткові виходи, які є такими:

  • Результатом можуть бути індекси вхідного масиву, які дають унікальні значення
  • Результатом можуть бути індекси унікального масиву, які реконструюють вхідний масив
  • Вихід може бути масивом кількості разів, коли кожне унікальне значення надходить у вхідний масив.

Синтаксис

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

Параметри

Це такі параметри у функції numpy.mean():

a: array_like

Цей параметр визначає вихідний масив, що містить елементи, унікальні значення яких потрібні. Масив буде зведений, якщо він не є одновимірним масивом.

Індекс_повернення: логічний (необов'язковий)

список методів java

Якщо для цього параметра встановлено значення True, функція повертатиме індекси вхідного масиву (вздовж указаної осі, якщо надано, або у зведеному масиві), що призводить до унікального масиву.

return_inverse: логічний (необов'язковий)

Якщо для цього параметра встановлено значення True, функція також повертатиме індекси вхідного масиву (вздовж зазначеної осі, якщо надано, або у зведеному масиві), які можна використовувати для реконструкції вхідного масиву.

Return_counts: bool (необов’язково)

Якщо для цього параметра встановлено значення True, функція повертатиме кількість разів, коли кожен унікальний елемент з’являвся у вхідному масиві «a».

axis: int або None (необов’язково)

Цей параметр визначає вісь для роботи. Якщо цей параметр не встановлено, масив 'a' буде зведений. Якщо цей параметр є цілим числом, то підмасиви, індексовані заданою віссю, будуть зведені та розглядатимуться як елемент одновимірного масиву з розмірністю заданої осі. Структуровані масиви або масиви об’єктів, які містять об’єкти, не підтримуються, якщо використовується вісь «kwarg».

Повернення

Ця функція повертає чотири типи вихідних даних:

унікальний: ndarray

У цьому виводі буде показано ndarray, який містить відсортовані унікальні значення.

унікальні_індекси: ndarray(необов'язково)

дата java в рядок

У цьому виводі буде показано масив ndarray, який містить індекси перших входжень унікальних значень у вихідному масиві. Цей вихід надається, лише якщо return_index має значення True.

унікальний_зворотний: ndarray (необов'язковий)

У цьому виводі буде показано ndarray, який містить індекси для реконструкції оригінального масиву з унікального масиву. Цей вихід надається, лише якщо return_inverse має значення True.

unique_counts: ndarray (необов'язково)

У цьому виводі буде показано ndarray, який містить кількість разів, коли кожне з унікальних значень з’являється у вихідному масиві. Цей вихід надається, лише якщо return_counts має значення True.

машинописний цикл foreach

приклад 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

Вихід:

 array([1, 2, 3, 4, 6]) 

У наведеному вище коді

  • Ми імпортували numpy з псевдонімом np.
  • Ми оголосили змінну 'a' та присвоїли значення, яке повертає функція np.unique().
  • Ми передали кількість елементів у функції.
  • Нарешті, ми спробували надрукувати значення 'a'.

У вихідних даних було показано ndarray, який містить унікальні елементи.

приклад 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

Вихід:

 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

приклад 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

Вихід:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

У наведеному вище коді

  • Ми імпортували numpy з псевдонімом np.
  • Ми створили багатовимірний масив 'a'.
  • Ми оголосили змінну 'b' і присвоїли повернуте значення функції np.unique().
  • Ми передали багатовимірний масив 'a' і вісь як 0 у функції.
  • Нарешті, ми спробували надрукувати значення 'b'.

У вихідних даних було показано ndarray, який містить унікальні рядки вихідного масиву 'a'.

Приклад 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

Вихід:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

Примітка: коли ми встановлюємо axis як 1, ця функція повертає унікальні стовпці з вихідного масиву.

Приклад 5: використання return_index

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

Вихід:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

У наведеному вище коді

concat рядок Java
  • Ми імпортували numpy з псевдонімом np.
  • Ми створили масив «а».
  • Ми оголосили змінні 'result' і 'indices' і присвоїли значення, що повертається функцією np.unique().
  • Ми передали масив 'a' і встановили return_index значення True у функції.
  • Нарешті, ми спробували надрукувати значення 'результату', 'індексів' і елементів масиву, що вказує на індекси ('a [індекси]').

У вихідних даних було показано масив ndarray, який містить індекси вихідного масиву, які дають унікальні значення.

Приклад 6: використання return_inverse

Ми можемо реконструювати вхідний масив з унікальних значень у такий спосіб:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

Вихід:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])