Evolcom.ru

Бытовая техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как посчитать частоту появления текстовых значений в столбце?

Подсчет Частоты Повторения Слова в Файле с Помощью Python

Вы когда-нибудь задумывались, как быстро определить основную тему документа? Что говорит больше всего? Я дам вам подсказку. Составьте список уникальных слов, упомянутых в документе, и подсчитайте, сколько раз упоминается каждое слово (частота). Здесь вы можете увидеть, о чем в основном идет речь в документе. Но это нелегко сделать вручную, поэтому нам нужен какой-то инструмент автоматизации, верно?

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

Тестовый Файл

Test.txt будет использоваться в этом уроке в качестве нашего тестового файла. Не открывайте его, просто скачайте! Давайте поиграем с ним. Текст в этом файле взят из одного из моих уроков на Envato Tuts+. Изучив постоянное повторение слов, мы можем сделать предположение, из какого урока этот текст.

Давайте начнём игру!

Регулярные Выражения

Мы будем использовать регулярные выражения (regex) для построения нашей игры, поскольку мы будем использовать шаблоны. Если термин «регулярные выражения» вам незнаком, найдите его определение в Википедии:

Если вы хотите узнать больше о регулярных выражениях, прежде чем продолжить этот урок, вы можете посмотреть учебник «Регулярные выражения в Python», а затем вернуться к данному уроку.

Пишем Программу

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

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

Теперь напишем регулярное выражение, которое возвращает все слова с количеством букв в диапазоне [3-15]. Если мы начнем с 3, то отсеем слова, которые не интересны для частотного анализа, например, i, c, not и другие, а слова длиннее 15 букв могут оказаться недействительными. Регулярное выражение для этого случая будет записано следующим образом:

Читайте так же:
Как подсчитать количество уникальных строк (комбинаций нескольких столбцов) в Excel?

B относится к границам слова. Посмотрите этот урок, чтобы узнать больше об этой теме.

Поиск на основе заданного регулярного выражения можно описать таким кодом:

Поскольку мы хотим перебрать все слова в документе, мы должны использовать функцию findall :

Мы хотели бы узнать, как часто каждое слово встречается в документе. В этом случае удобно использовать словари Python, поскольку нам нужны пары ключ-значение, где ключ — это слово, а значение представляет собой частоту появления слова в документе.

Допустим мы инициировали пустой словарь frequency = < >, сказанное выше можно записать следующим образом:

Вот как используются ключи:

Вот как мы можем рассчитать частоту слова (число случаев) в тексте:

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

Собираем Все Вместе

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

Если запустить программу, должно получиться что-то вроде этого:

Mac OS X terminalMac OS X terminalMac OS X terminal

Вернемся к нашей игре. Пожалуйста, посмотрите на частоту для слов и скажите, что говорит текстовый файл (текст для которого взят из другого моего урока по Python)?

Примеры функции ЧАСТОТА в Excel для расчета частоты повторений

Функция FREQUENCY используется для определения того, сколько раз определенное значение попадает в заданный диапазон, и возвращает данные в виде массива значений. Используя функцию FREQUENCY, мы научимся вычислять частоту в Excel.

Пример использования функции ЧАСТОТА в Excel

Пример 1. Группа студентов одного из университетов сдавала экзамен по физике. Качество экзамена оценивается по 100-балльной системе. Для определения итоговой оценки по 5-балльной системе используются следующие критерии:

  1. От 0 до 50 баллов — не сдал экзамен.
  2. От 51 до 65 баллов — оценка 3.
  3. От 66 до 85 баллов — оценка 4.
  4. Более 86 баллов — оценка 5.
Читайте так же:
Как подсчитать количество экземпляров, если длина строки больше X в Excel?

Для составления статистики мы должны определить, сколько студентов получили 5, 4, 3 балла и сколько студентов не сдали экзамен.

Вставьте полученные данные в таблицу:

Внесем данные.

Чтобы решить эту проблему, выделите области с 4 ячейками и введите следующую функцию:

Распределение студентов.

  • B3:B20 — массив символьных данных студента
  • D3:D5 — массив критериев для определения частоты вхождений в массив символьных данных.

Выделяем диапазон F3:F6 жмем сначала клавишу F2, а потом комбинацию клавиш Ctrl+Shift+Enter, чтобы функция ЧАСТОТА была выполнена в массиве. Подтверждением того что все сделано правильно будут служить фигурные скобки <> в строке формул по краям. Это значит, что формула выполняется в массиве. В результате получим:

.

Это означает, что 6 студентов не сдали экзамен, а 3, 4 и 5 студентов соответственно получили оценки 3, 4 и 5.

Пример определения вероятности используя функцию ЧАСТОТА в Excel

Пример 2 Известно, что если есть только два возможных исхода, то вероятность первого и второго равна 0,5. Например, вероятность того, что подброшенная монета окажется головой или решкой, равна ½ и ½ (без учета возможности падения монеты через край). Аналогичным вычисленным распределением вероятности характеризуется следующая функция SLUDGE(1;2), которая возвращает случайное число между 1 и 2. С помощью этой функции было выполнено двадцать расчетов. По результатам определите фактические вероятности для чисел 1 и 2 соответственно.

Присвоить случайные значения исходной таблице:

СЛУЧМЕЖДУ.

Для определения случайных значений исходной таблицы использовалась специальная функция:

Наша функция для подсчета количества сгенерированных 1 и 2 — это:

  • A2:A21 – массив сгенерированных функцией =СЛУЧМЕЖДУ(1;2) значений;
  • 1 – критерий поиска (функция ЧАСТОТА ищет значения от 0 до 1 включительно и значения >1).

Результат следующий:

В результате Значение.

Вычислите вероятности, разделив количество событий каждого типа на их общее количество:

Фактическая вероятность.

Для подсчета событий используйте функцию =Count($A$2:$A$21). Или вы можете просто разделить на значение 20. Если вы заранее не знаете количество событий и размер диапазона случайных значений, то в качестве аргумента функции COUNT можно использовать ссылку на весь столбец: =COUNT(A:A). В столбце A число будет подсчитано автоматически.

Читайте так же:
Как подсчитать ячейки с помощью определенного форматирования, такого как полужирный, курсив в Excel?

Вероятность «1» равна 0,45, а вероятность «2» — 0,55. Не забудьте присвоить ячейкам E2:E3 процентный формат, чтобы отобразить их значения в процентах: 45% и 55%.

Теперь мы будем использовать более сложную формулу для расчета максимальной частоты повторения:

1)*СТРОКА($A$2:$A$21)))-1′ >Повторов подряд.

После применения оператора сравнения «не равно» формулы в ячейках F2 и F3 отличаются только одним числом: <>1 и <>2.

Интересный факт! Из этой формулы вы можете легко понять, почему стратегия удвоения в казино в рулетке не работает. Эта стратегия называется Мартингейл. Дело в том, что количество случайных удвоений подряд может достигать 18 раз и более, т.е. 18 раз подряд с красным или черным. Например, если ставка в 2 доллара удваивается 18 раз, то это уже более полумиллиона долларов «просадки». Это уже провал по отношению к любой методике планирования рисков. Помните также, что помимо «черного» и «красного» может выпасть и «ноль», что окончательно отсекает все шансы. Интересно также отметить, что сумма всех чисел в рулетке от 0 до 36 равна 666.

Как посчитать неповторяющиеся значения в Excel?

Пример 3 Определить количество уникальных вхождений в массив числовых данных, то есть неповторяющихся значений.

Исходная таблица.

Необходимое значение можно определить с помощью следующей формулы:

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

  1. Если искомый элемент находится в диапазоне значений, вместо фактического числа вхождений возвращается значение 1;
  2. Если искомый элемент не найден, возвращается 0 (нуль).

Получившееся значение (количество единиц) суммируется.

Результат есть:

Уникальные вхождения.

Иными словами, в указанной таблице содержится 8 уникальных значений.

Читайте так же:
Как посчитать количество получасовых интервалов в Excel?

Функция ЧАСТОТА в Excel и особенности ее синтаксиса

Синтаксис этой функции следующий:

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

  • Array_data — данные в виде массива или ссылка на диапазон значений, для которых необходимо определить частоты.
  • Array_intervals — данные в виде массива или ссылка на диапазон значений, в котором группируются значения первого аргумента функции.
  1. Если в качестве аргумента массив_интервалов был передан пустой массив или ссылка на диапазон пустых значений, результатом выполнения функции ЧАСТОТА будет являться число элементов, входящих диапазон данных, которые были переданы в качестве первого аргумента.
  2. При использовании функции ЧАСТОТА в качестве обычной функции Excel будет возвращено единственное значение, соответствующее первому вхождению в массив_интервалов (то есть, первому критерию поиска частоты вхождения).
  3. Массив возвращаемых данной функцией элементов содержит на один элемент больше, чем количество элементов, содержащихся в массив_интервалов. Это происходит потому, что функция ЧАСТОТА вычисляет также количество вхождений величин, значения которых превышают верхнюю границу интервалов. Например, в наборе данных 2,7, 10, 13, 18, 4, 33, 26 необходимо найти количество вхождений величин из диапазонов от 1 до 10, от 11 до 20, от 21 до 30 и более 30. Массив интервалов должен содержать только их граничные значения, то есть 10, 20 и 30. Функция может быть записана в следующем виде: =ЧАСТОТА(<2;7;10;13;18;4;33;26>;<10;20;30>), а результатом ее выполнения будет столбец из четырех ячеек, которые содержат следующие значения: 4,2, 1, 1. Последнее значение соответствует количеству вхождений чисел > 30 в массив_данных. Такое число действительно является единственным – это 33.
  4. Если в состав массив_данных входят ячейки, содержащие пустые значения или текст, они будут пропущены функцией ЧАСТОТА в процессе вычислений.

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

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector