Как найти наиболее часто встречающееся значение в массиве numpy (с примерами)
Вы можете использовать следующие методы, чтобы найти наиболее частое значение в массиве NumPy:
Способ 1. Найдите наиболее часто встречающееся значение.
#find frequency of each value
values, counts = np. unique (my_array, return_counts= True )
#display value with highest frequency
values[counts. argmax ()]
Если в массиве NumPy чаще всего встречается несколько значений, этот метод вернет только первое значение.
Способ 2. Найдите каждое наиболее часто встречающееся значение.
#find frequency of each value
values, counts = np. unique (my_array, return_counts= True )
#display all values with highest frequencies
values[counts == counts. max ()]
Если в массиве NumPy чаще всего встречается несколько значений, этот метод вернет каждое из наиболее частых значений.
Следующие примеры показывают, как использовать каждый метод на практике.
Пример 1. Найдите наиболее частое значение в массиве NumPy.
Предположим, у нас есть следующий массив NumPy:
import numpy as np
#create NumPy array
my_array = np. array ([1, 2, 4, 4, 4, 5, 6, 7, 12])
Обратите внимание, что в этой таблице чаще всего встречается только одно значение: 4 .
Мы можем использовать функцию argmax() для возврата значения, которое чаще всего появляется в массиве:
#find frequency of each value
values, counts = np. unique (my_array, return_counts= True )
#display value with highest frequency
values[counts. argmax ()]
4
Функция правильно возвращает значение 4 .
Пример 2. Найдите каждое наиболее часто встречающееся значение в массиве NumPy.
Предположим, у нас есть следующий массив NumPy:
import numpy as np
#create NumPy array
my_array = np. array ([1, 2, 4, 4, 4, 5, 6, 7, 12, 12, 12])
Обратите внимание, что в этой таблице чаще всего встречаются два значения: 4 и 12 .
Мы можем использовать функцию max() для возврата каждого из значений, которые наиболее часто встречаются в массиве:
#find frequency of each value
values, counts = np. unique (my_array, return_counts= True )
#display each value with highest frequency
values[counts == counts. max ()]
array([4,12])
Функция корректно возвращает значения 4 и 12 .
Примечание . Полную документацию по функции NumPy unique() можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в NumPy:
Как удалить повторяющиеся элементы в массиве NumPy
Как заменить элементы в массиве NumPy
Как упорядочить элементы в массиве NumPy