Вы можете использовать следующие методы для подсчета уникальных значений в массиве NumPy:
Способ 1: отображение уникальных значений
np.unique (my_array)
Метод 2: подсчет количества уникальных значений
len (np.unique (my_array))
Способ 3: подсчет вхождений каждого уникального значения
np.unique (my_array, return_counts= True )
В следующих примерах показано, как использовать каждый метод на практике со следующим массивом NumPy:
import numpy as np
#create NumPy array
my_array = np.array([1, 3, 3, 4, 4, 7, 8, 8])
Пример 1: отображение уникальных значений
Следующий код показывает, как отобразить уникальные значения в массиве NumPy:
#display unique values
np.unique (my_array)
array([1, 3, 4, 7, 8])
На выходе мы видим каждое из уникальных значений в массиве NumPy: 1, 3, 4, 7, 8.
Пример 2. Подсчет количества уникальных значений
В следующем коде показано, как подсчитать общее количество уникальных значений в массиве NumPy:
#display total number of unique values
len (np.unique (my_array))
5
Из вывода мы видим, что в массиве NumPy есть 5 уникальных значений.
Пример 3. Подсчет вхождений каждого уникального значения
В следующем коде показано, как подсчитать количество вхождений каждого уникального значения в массиве NumPy:
#count occurrences of each unique value
np.unique (my_array, return_counts= True )
(array([1, 3, 4, 7, 8]), array([1, 2, 2, 1, 2]))
Первый массив в выходных данных показывает уникальные значения, а второй массив показывает количество каждого уникального значения.
Мы можем использовать следующий код для вывода этого вывода в более удобном для чтения формате:
#get unique values and counts of each value
unique, counts = np.unique (my_array, return_counts= True )
#display unique values and counts side by side
print(np.asarray ((unique, counts)). T )
[[1 1]
[3 2]
[4 2]
[7 1]
[8 2]]
Из вывода мы видим:
- Значение 1 встречается 1 раз.
- Значение 3 встречается 2 раза.
- Значение 4 встречается 2 раза.
- Значение 7 встречается 1 раз.
- Значение 8 встречается 2 раза.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:
Как рассчитать режим массива NumPy
Как сопоставить функцию с массивом NumPy
Как отсортировать массив NumPy по столбцу