Как найти наиболее часто встречающееся значение

Поиск и подсчет самых частых значений

Необходимость поиска наибольших и наименьших значений в любом бизнесе очевидна: самые прибыльные товары или ценные клиенты, самые крупные поставки или партии и т.д.

Но наравне с этим, иногда приходится искать в данных не топовые, а самые часто встречающиеся значения, что хоть и звучит похоже, но, по факту, совсем не то же самое. Применительно к магазину, например, это может быть поиск не самых прибыльных, а самых часто покупаемых товаров или самое часто встречающееся количество позиций в заказе, минут в разговоре и т.п.

В такой ситуации задачу придется решать немного по-разному, в зависимости от того, с чем мы имеем дело – с числами или с текстом.

Поиск самых часто встречающихся чисел

Предположим, перед нами стоит задача проанализировать имеющиеся данные по продажам в магазине, с целью определить наиболее часто встречающееся количество купленных товаров. Для определения самого часто встречающегося числа в диапазоне можно использовать функцию МОДА (MODE):

Выявление самых часто встречающихся чисел в диапазоне

Т.е., согласно нашей статистике, чаще всего покупатели приобретают 3 шт. товара.

Если существует не одно, а сразу несколько значений, встречающихся одинаково максимальное количество раз (несколько мод), то для их выявления можно использовать функцию МОДА.НСК (MODE.MULT). Ее нужно вводить как формулу массива, т.е. выделить сразу несколько пустых ячеек, чтобы хватило на все моды с запасом и ввести в строку формул =МОДА.НСК(B2:B16) и нажать сочетание клавиш Ctrl+Shift+Enter.

На выходе мы получим список всех мод из наших данных:

Выявление нескольких мод

Т.е., судя по нашим данным, часто берут не только по 3, но и по 16 шт. товаров. Обратите внимание, что в наших данных только две моды (3 и 16), поэтому остальные ячейки, выделенные «про запас», будут с ошибкой #Н/Д.

Частотный анализ по диапазонам функцией ЧАСТОТА

Если же нужно проанализировать не целые, а дробные числа, то правильнее будет оценивать не количество одинаковых значений, а попадание их в заданные диапазоны. Например, нам необходимо понять какой вес чаще всего бывает у покупаемых товаров, чтобы правильно выбрать для магазина тележки и упаковочные пакеты подходящего размера. Другими словами, нам нужно определить сколько чисел попадает в интервал 1..5 кг, сколько в интервал 5..10 кг и т.д.

Для решения подобной задачи можно воспользоваться функцией ЧАСТОТА (FREQUENCY). Для нее нужно заранее подготовить ячейки с интересующими нас интервалами (карманами) и затем выделить пустой диапазон ячеек (G2:G5) по размеру на одну ячейку больший, чем диапазон карманов (F2:F4) и ввести ее как формулу массива, нажав в конце сочетание Ctrl+Shift+Enter:

Частотный анализ функцией ЧАСТОТА

Частотный анализ сводной таблицей с группировкой

Альтернативный вариант решения задачи: создать сводную таблицу, где поместить вес покупок в область строк, а количество покупателей в область значений, а потом применить группировку – щелкнуть правой кнопкой мыши по значениям весов и выбрать команду Группировать (Group). В появившемся окне можно задать пределы и шаг группировки:

Частотный анализ группировкой сводной таблицы

… и после нажатия на кнопку ОК получить таблицу с подсчетом количества попаданий покупателей в каждый диапазон группировки:

Готовая группировка в сводной таблице

Минусы такого способа:

  • шаг группировки может быть только постоянным, в отличие от функции ЧАСТОТА, где карманы можно задать абсолютно любые
  • сводную таблицу нужно обновлять при изменении исходных данных (щелчком правой кнопки мыши – Обновить), а функция пересчитывается автоматически “на лету”

Поиск самого часто встречающегося текста

Если мы имеем дело не с числами, а с текстом, то подход к решению будет принципиально другой. Предположим, что у нас есть таблица из 100 строк с данными о проданных в магазине товарах, и нам нужно определить, какие товары покупались наиболее часто?

Самым простым и очевидным решением будет добавить рядом столбец с функцией СЧЁТЕСЛИ (COUNTIF), чтобы подсчитать количество вхождений каждого товара в столбце А:

Подсчет количества текстовых значений в списке

Затем, само-собой, отсортировать получившийся столбец по убыванию и посмотреть на первые строчки.

Или же добавить к исходному списку столбец с единичками и построить по получившейся таблице сводную, подсчитав суммарное количество единичек для каждого товара:

Сводная таблица для подсчета количества вхождений каждого товара

Если исходных данных не очень много и принципиально не хочется пользоваться сводными таблицами, то можно использовать формулу массива:

Поиск самого частого значения формулой массива

Давайте разберем ее по кусочкам:

  • СЧЁТЕСЛИ(A2:A20;A2:A20) – формула массива, которая ищет по очереди количество вхождений каждого товара в диапазоне A2:A100 и выдаст на выходе массив с количеством повторений, т.е., фактически, заменяет собой дополнительный столбец
  • МАКС – находит в массиве вхождений самое большое число, т.е. товар, который покупали чаще всего
  • ПОИСКПОЗ – вычисляет порядковый номер строки в таблице, где МАКС нашла самое большое число
  • ИНДЕКС – выдает из таблицы содержимое ячейки с номером, который нашла ПОИСКПОЗ

Ссылки по теме

  • Подсчет количества уникальных значений в списке
  • Извлечение уникальных элементов из списка с повторами
  • Группировка в сводных таблицах

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

Возвращает наиболее часто встречающееся или повторяющееся значение в массиве или интервале данных.

Синтаксис

МОДА.ОДН(число1;[число2];…)

Аргументы функции МОДА.ОДН описаны ниже.

  • Число1     Обязательный. Первый аргумент, для которого требуется вычислить моду.

  • Число2…     Необязательный. Аргументы 2—254, для которых требуется вычислить моду. Вместо аргументов, разделенных точкой с запятой, можно использовать массив или ссылку на массив.

Замечания

  • Аргументы могут быть либо числами, либо содержащими числа именами, массивами или ссылками.

  • Если аргумент, который является массивом или ссылкой, содержит текст, логические значения или пустые ячейки, эти значения игнорируются; ячейки, содержащие нулевые значения, учитываются.

  • Аргументы, которые являются значениями ошибки или текстами, не преобразуемыми в числа, приводят к возникновению ошибок.

  • Если набор данных не содержит повторяющихся точек данных, функция МОДА.ОДН возвращает значение ошибки #Н/Д.

Примечание: Функция МОДА.ОДН измеряет центральную тенденцию, которая является центром группы чисел в статистическом распределении. Существует три наиболее распространенных способа определения центральной тенденции.

  • Среднее значение     — это среднее арифметическое, которое вычисляется путем сложения набора чисел с последующим делением полученной суммы на их количество. Например, средним значением для чисел 2, 3, 3, 5, 7 и 10 будет 5, которое является результатом деления их суммы, равной 30, на их количество, равное 6.

  • Медиана     — это число, которое является серединой множества чисел, то есть половина чисел имеют значения большие, чем медиана, а половина чисел имеют значения меньшие, чем медиана. Например, медианой для чисел 2, 3, 3, 5, 7 и 10 будет 4.

  • Мода     — это число, наиболее часто встречающееся в данном наборе чисел. Например, модой для чисел 2, 3, 3, 5, 7 и 10 будет 3.

При симметричном распределении множества чисел все три значения центральной тенденции будут совпадать. При смещенном распределении множества чисел значения могут быть разными.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

5,6

4

4

3

2

4

Формула

Описание

Результат

=МОДА.ОДН(A2:A7)

Мода или наиболее часто встречающееся число

4

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Для того, чтобы найти значение, которое наиболее часто встречается в диапазоне, в excel предусмотрена функция МОДА.

В случае, если в диапазоне данных все значения уникальны, то она возвращает значение Н/Д.

pixabay.com
pixabay.com

Предположим, у нас есть столбец с количеством заказов разных клиентов и нам необходимо понять, какое количество покупок в рамках одного заказа осуществляется чаще всего:

Исходные данные
Исходные данные

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

МОДА
МОДА

Однако, может возникнуть ситуация, когда таких значений может быть несколько. В этом случае функция вернет значение, которое первым было найдено:

МОДА
МОДА

Для решения этой проблемы можно использовать функцию МОДА.НСК (она есть в последних версиях excel), которая возвращает вертикальный диапазон значений, которые наиболее часто повторяются:

МОДА.НСК
МОДА.НСК

МОДА.НСК используется как формула массива, поэтому при ее вводе зажмите Shift+Ctrl+Enter.

Чтобы узнать как часто искомое значение встречается в диапазоне данных (этот показатель также называют “частота моды”) можно использовать следующую формулу: =СЧЁТЕСЛИ(B2:B13;МОДА(B2:B13))

Частота моды
Частота моды

✔ Ищите ответы на свои вопросы в статье Фишки excel – подборка статей. Там я перечислила все свои статьи по разбору работы функций excel.

✔ Вот здесь есть подборка видео о том, как строить необычные диаграммы – Фишки Excel – подборка видеороликов.

✔ А здесь список статей для новичков – Статьи для новичков по работе в Excel.

Перейти к содержанию

На чтение 2 мин Опубликовано 07.08.2015

Из этого примера вы узнаете, как найти наиболее часто встречающееся слово в Excel.

Вы можете использовать функцию MODE (МОДА), чтобы найти наиболее часто встречающееся число. Но эта функция работает только с числами:

=MODE(A1:A7)
=МОДА(A1:A7)

Самое частотное слово в Excel

Вы можете использовать функцию COUNTIF (СЧЕТЕСЛИ), чтобы подсчитать количество вхождений каждого слова. Но нам ведь нужна одна единственная формула, которая возвратит наиболее часто встречающееся слово (в нашем примере – это слово «circle»).

=COUNTIF($A$1:$A$7,C2)
=СЧЁТЕСЛИ($A$1:$A$7;C2)

Самое частотное слово в Excel

Чтобы найти наиболее часто встречающееся слово, следуйте инструкции ниже:

  1. Функция MATCH (ПОИСКПОЗ) возвращает позицию значения в заданном диапазоне.

    =MATCH(A7,A1:A7,0)
    =ПОИСКПОЗ(A7;A1:A7;0)

    Самое частотное слово в Excel

    Пояснение: Cлово «circle» (А7) найдено в позиции 2 диапазона A1:A7. Ноль в третьем аргументе позволяет вернуть точное совпадение.

  2. Чтобы найти положение наиболее часто встречающихся слов, добавим функцию MODE (МОДА) и заменим A7 на A1:A7.

    =MODE(MATCH(A1:A7,A1:A7,0))
    =МОДА(ПОИСКПОЗ(A1:A7;A1:A7;0))

  3. Закончим нажатием Ctrl+Shift+Enter.

    Самое частотное слово в Excel

Примечание: Строка формул указывает, что это формула массива, заключая её в фигурные скобки {}. Их не нужно вводить самостоятельно. Они исчезнут, когда вы начнете редактировать формулу.

  1. Пояснение:
    • Диапазон (массив констант), созданный с помощью функции MATCH (ПОИСКПОЗ), хранится в памяти Excel, а не в ячейках листа.
    • Массив констант выглядит следующим образом: {1;2;2;2;5;5;2}. Цифры показывают, что слово «triangle» найдено в позиции 1, «circle» в позиции 2, «circle» в позиции 2 и т.д.
    • Этот массив констант используется в качестве аргумента для функции MODE (МОДА), давая результат 2 (позиция наиболее часто встречающегося слова).
  2. Используйте этот результат и функцию INDEX (ИНДЕКС), чтобы вернуть второе слово из диапазона A1:A7, как наиболее часто встречающееся.

    =INDEX(A1:A7,MODE(MATCH(A1:A7,A1:A7,0)))
    =ИНДЕКС(A1:A7;МОДА(ПОИСКПОЗ(A1:A7;A1:A7;0)))

    Самое частотное слово в Excel

Оцените качество статьи. Нам важно ваше мнение:

Цель этой статьи — показать наиболее часто встречающееся значение в наборе чисел. Чтобы суммировать количество появлений элемента или числа, используется функция Python value_counts(). Затем можно использовать метод mode() для получения наиболее часто встречающегося элемента. Если вам нужны разные способы получения наиболее часто встречающихся значений в Python, в этой статье есть все рекомендации.

Что такое метод Value_counts() в Python?

Уникальные значения объекта Pandas подсчитываются с помощью метода value counts(). В Python мы обычно используем эту технику для обработки данных, а также для исследования данных.

Метод value_counts() может работать с различными объектами Pandas. Ряд Pandas, фреймы данных Pandas и столбцы фреймов данных являются их примерами (которые являются объектами серии Pandas).

Однако в зависимости от типа объекта, с которым вы работаете, способ реализации метода value_counts() будет немного отличаться.

Другие необязательные аргументы могут использоваться для изменения функциональности метода value_counts().

Синтаксис функции Pandas Series Mode()

В серии pandas наиболее распространенным значением является просто режим серии. Метод серии pandas mode() используется для получения информации о режиме. Синтаксис следующий. Моды серии возвращаются в отсортированном порядке.

# df[‘Столбец’].mode()

Синтаксис функции Pandas Value_counts()

Чтобы получить наибольшее значение счетчика, используйте функции pandas value_counts() и idxmax() одновременно. Синтаксис следующий:

# df[‘Столбец’].value_counts().idxmax()

Теперь давайте рассмотрим несколько практических примеров, чтобы увидеть, как вы можете получить наиболее часто встречающиеся значения, следуя каким шагам.

Пример1:

Мы должны сначала установить кадр данных, прежде чем переходить к этапам определения наиболее частого значения с помощью режима(). Это фрейм данных с полем категории, которое мы будем использовать в оставшейся части руководства. Фрейм данных «d_frame» содержит имена («Ким», «Кортни», «Скотт», «Роб», «Кендалл», «Гэти», «Фил») и информацию о команде («А», «Б», « С”, “Д”, “Е”, “А”, “Б”, “А”, “Б”, “А”). Столбец «Команда» фрейма данных представляет собой поле категории со значениями, обозначающими команду, назначенную каждому студенту.

Модуль pandas импортируется в начале кода в приведенном ниже справочном коде. Затем генерируется кадр данных и отображается на экране.

импорт панды
d_frame = панды.кадр данных({
‘Имя’: [‘Ким’,«Кортни»,‘Скотт’,‘Роб’,Кендалл,‘Гэти’,‘Фил’],
‘Команда’: [«А»,‘Б’,‘С’,‘Д’,‘Е’,«А»,‘Б’]
})
Распечатать(d_frame)

На изображении ниже имена студентов отображаются вместе с названием команды, в которую они были назначены.

Мы покажем вам, как использовать функцию mode() для определения наиболее часто встречающегося значения. Мода, которая является описательной статистикой, в основном является наиболее распространенным значением в наборе данных. Это даст вам информацию о команде, в которой больше всего студентов.

Сначала мы импортировали модуль pandas и сгенерировали фрейм данных, как вы можете видеть в коде. Имена студентов и команды включены в фрейм данных.

импорт панды
d_frame = панды.кадр данных({
‘Имя’: [‘Ким’,«Кортни»,‘Скотт’,‘Роб’,Кендалл,‘Гэти’,‘Фил’],
‘Команда’: [«А»,‘Б’,‘С’,‘Д’,‘Е’,«А»,‘Б’]
})
Распечатать(d_frame[‘Команда’].Режим())

Это дает серию панд плюс режим столбца. Поскольку «A» и «B» являются наиболее часто встречающимися значениями в поле «Команда», мы получаем «A» и «B» в качестве режима.

Обратите внимание, что вы можете получить режим каждого столбца в кадре данных pandas, используя метод mode().

Пример 2:

Мы покажем вам, как использовать value_counts() для получения наиболее часто встречающегося значения в этом примере. Функция value_counts() может использоваться для получения счетчиков, а затем функция idxmax() может использоваться для получения значения с наибольшим количеством счетчиков.

Остальной код, за исключением последней строки, идентичен приведенному выше. Он демонстрирует, как функция (value_counts) используется для определения значения с наибольшим количеством.

импорт панды
d_frame = панды.кадр данных({
‘Имя’: [‘Ким’,«Кортни»,‘Скотт’,‘Роб’,Кендалл,‘Гэти’,‘Фил’],
‘Команда’: [«А»,‘Б’,‘С’,‘Д’,‘Е’,«А»,«А»]
})
Распечатать(d_frame[‘Команда’].значение_счетчиков().идксмакс())

См. результирующий экран ниже. Получаем значение в столбце «Команда» с максимальным значением счетчика.

Пример 3:

Этот пример продемонстрирует, что произойдет, если кадр данных будет содержать наиболее часто встречающиеся значения. Давайте изменим фрейм данных, чтобы столбец «Команда» содержал повторяющиеся режимы. Здесь мы меняем значение «Команда» «Роба» с «D» на «B».

импорт панды
d_frame = панды.кадр данных({
‘Имя’: [‘Ким’,«Кортни»,‘Скотт’,‘Роб’,Кендалл,‘Гэти’,‘Фил’],
‘Команда’: [«А»,‘Б’,‘С’,‘Д’,‘Е’,«А»,‘Ф’]
})
д_кадр.в[3,‘Команда’]=‘Б’
Распечатать(d_frame)

Как видите, теперь у нас есть повторяющиеся режимы. В нашем сценарии в столбце «Команда» дважды появляется буква «А».

Название команды студента «Роб» было изменено с «D» на «A» на прилагаемом изображении.

Пример 4:

Давайте посмотрим, что возвращают методы counts() и idxmax(). Мы обновили значения фрейма данных в этом примере кода. Обратите внимание, что команды «А» и «Б» появляются два раза. После этого мы использовали функции value.counts() и idxmax() для определения наиболее распространенного значения в фрейме данных. Вот код ссылки.

импорт панды
d_frame = панды.кадр данных({
‘Имя’: [‘Ким’,«Кортни»,‘Скотт’,‘Роб’,Кендалл,‘Гэти’,‘Фил’],
‘Команда’: [«А»,‘Б’,‘С’,‘Д’,‘Е’,«А»,‘Б’]
})
Распечатать(d_frame[‘Команда’].значение_счетчиков().идксмакс())

Обратите внимание, что даже если присутствует много режимов, этот метод возвращает только одно значение. Это произошло из-за того, что функция idxmax() выдает только один результат: «Если несколько значений совпадают с максимальным, однострочный заголовок с это значение возвращается». Чтобы получить наиболее распространенное значение в серии pandas, вам нужно применить «mode()» серии pandas. функция.

Вывод:

В этой статье мы рассмотрели, как найти наиболее часто встречающееся значение в столбце или серии pandas на определенных примерах. Мы обсудили различные функции, которые можно использовать для достижения этой цели. Некоторые из этих методов — Mode(), counts() и idxmax(). Если вы новичок в этой концепции и вам нужно пошаговое руководство по началу работы, не читайте дальше этой статьи.

Добавить комментарий