Как рассчитать режим массива NumPy (с примерами)


Вы можете использовать следующий базовый синтаксис, чтобы найти режим массива NumPy:

#find unique values in array along with their counts
vals, counts = np.unique (array_name, return_counts= True )

#find mode
mode_value = np.argwhere (counts == np.max (counts))

Напомним, что мода — это значение, которое чаще всего встречается в массиве.

Обратите внимание, что массив может иметь один режим или несколько режимов.

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: режим вычисления массива NumPy только с одним режимом

В следующем коде показано, как найти режим массива NumPy, в котором есть только один режим:

import numpy as np

#create NumPy array of values with only one mode
x = np.array([2, 2, 2, 3, 4, 4, 5, 5, 5, 5, 7])

#find unique values in array along with their counts
vals, counts = np.unique (x, return_counts= True )

#find mode
mode_value = np.argwhere (counts == np.max (counts))

#print list of modes
print(vals[mode_value]. flatten().tolist ())

[5]

#find how often mode occurs
print(np.max (counts))

4

Из вывода мы видим, что режим равен 5 , и он встречается 4 раза в массиве NumPy.

Пример 2: режим вычисления массива NumPy с несколькими режимами

В следующем коде показано, как найти режим массива NumPy, в котором есть несколько режимов:

import numpy as np

#create NumPy array of values with multiple modes
x = np.array([2, 2, 2, 3, 4, 4, 4, 5, 5, 5, 7])

#find unique values in array along with their counts
vals, counts = np.unique (x, return_counts= True )

#find mode
mode_value = np.argwhere (counts == np.max (counts))

#print list of modes
print(vals[mode_value]. flatten().tolist ())

[2, 4, 5]

#find how often mode occurs
print(np.max (counts))

3

Из вывода видно, что этот массив NumPy имеет три режима: 2 , 4 и 5 .

Мы также можем видеть, что каждое из этих значений встречается в массиве 3 раза.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в NumPy:

Как сопоставить функцию с массивом NumPy
Как найти индекс значения в массиве NumPy
Как рассчитать величину вектора с помощью NumPy