Вычислить режим массива в NumPy

  1. Вычислить режим массива NumPy с помощью функции scipy.stats.mode()
  2. Вычислить режим массива NumPy с помощью функции numpy.unique()

В этом руководстве будет показано, как вычислить режим массива NumPy в Python.

Вычислить режим массива NumPy с помощью функции scipy.stats.mode()

Режим - это наиболее повторяющееся значение в коллекции. Библиотека scipy.stats содержит множество функций, связанных со статистикой. Функция mode() внутри библиотеки scipy.stats находит режим массива в Python. Он принимает массив в качестве входного аргумента и возвращает массив наиболее распространенных значений внутри входного массива. Чтобы этот метод работал, мы должны установить пакет scipy. Команда для его установки приведена ниже.

pip install scipy

В следующем примере кода показано, как вычислить режим внутри массива NumPy с помощью функции scipy.stats.mode().

import numpy as np
from scipy import stats
array = np.array([1,2,3,4,4,5])
mode = stats.mode(array)
print(mode[0])

Выход:

[4]

Сначала мы создали массив array с помощью функции np.array(). Затем мы вычислили режим с помощью функции scipy.stats.mode() и сохранили результат в массиве mode. В итоге мы отобразили наиболее повторяющееся значение, распечатав первый элемент массива mode.

Вычислить режим массива NumPy с помощью функции numpy.unique()

Если мы хотим использовать пакет NumPy только для поиска режима, мы можем использовать функцию numpy.unique(). Функция numpy.unique() принимает массив в качестве входного аргумента и возвращает массив всех уникальных элементов внутри входного массива. Мы также можем указать для параметра return_count значение True, чтобы получить количество повторений каждого уникального элемента во входном массиве.

import numpy as np
array = np.array([1,2,3,4,4,5])
vals,counts = np.unique(array, return_counts=True)
index = np.argmax(counts)
print(vals[index])

Выход:

4

В приведенном выше коде мы вычислили режим массива NumPy array с помощью функций np.unique() и np.argmax() в Python. Сначала мы создали массив array с помощью функции np.array(). Затем мы использовали функцию np.unique() и сохранили уникальные значения внутри массива vals, а также количество повторений каждого значения внутри массива counts. Затем мы вычислили максимальное значение внутри массива counts с помощью функции np.argmax() и сохранили значение внутри переменной index. В итоге мы отобразили режим, распечатав значение по индексу index массива vals.