Относительные и Абсолютные Частоты в Python и Pandas
Last updated
Last updated
В этой статье вы узнаете, как рассчитать относительные и абсолютные частоты с помощью чистого Python, а также при помощи популярной библиотеки для анализа данных Pandas.
Относительная частота показывает, насколько часто определённое значение встречается в наборе данных, по сравнению со всем количеством значений в этом наборе.
Абсолютная частота, в свою очередь, просто указывает, сколько раз определённое значение встречается в наборе данных.
Краткий ответ: Вычисление абсолютных и относительных частот в Pandas Если вы не хотите углубляться в детали реализации, просто воспользуйтесь методом .value_counts() из библиотеки Pandas. Он возвращает массив абсолютных частот. Чтобы получить относительные частоты, используйте параметр normalize=True:
Содержание
Начнём с загрузки данных. Поскольку вы будете учиться рассчитывать относительные и абсолютные частоты как в чистом Python, так и в Pandas, мы загрузим данные как простой список, так и фрейм данных Pandas. Загрузим их прямо сейчас:
Итак, у нас есть список, содержащий множество различных строк, а также фрейм данных с одним столбцом, названным Fruit.
Абсолютная частота просто измеряет, насколько часто встречается определённое значение.
Рассчитайте абсолютные частоты с помощью словаря Самый простой способ — использовать словарь и пройти по списку:
Инициализируйте пустой словарь.
Пройдитесь в цикле по списку.
Если элемент списка уже есть в словаре, увеличьте его значение на 1.
Если элемент отсутствует в словаре, установите его значение равным 1.
Аналогично, можно использовать генератор словаря и записать:
Это возвращает точно такой же результат, но с гораздо более коротким синтаксисом (который, к сожалению, немного сложнее для чтения). Если вы хотите подробнее узнать о генераторах словарей, ознакомьтесь с моей подробной статьей с множеством примеров здесь.
Как и в предыдущем примере, мы можем использовать генератор списка, чтобы создать список пар значений — элементов и их частот. Если вы хотите узнать больше о генераторах списков, прочитайте мою статью здесь или посмотрите видео на YouTube:
Давайте посмотрим, как мы можем создать генератор списка для нашего списка абсолютных частот. Для этого нам нужно найти элементы, по которым можно пройти. Создадим множество элементов, поскольку оно оставит только уникальные значения из списка. Затем мы подсчитаем количество каждого элемента множества в исходном списке и добавим это значение в кортеж:
Относительная частота измеряет, насколько часто определённое значение встречается в наборе данных относительно общего количества значений в этом наборе.
Чтобы рассчитать относительные частоты, нам нужно разделить каждую абсолютную частоту на общее количество значений в массиве. Давайте посмотрим, как это можно сделать с помощью каждого из приведённых выше методов.
Количество элементов в списке можно определить с помощью функции len()
:
Теперь добавим расчёт относительных частот в каждый из наших методов, рассмотренных выше: Использование цикла и словаря для расчёта относительных частот
Это означает, что строка 'apple'
составляет 45% от всех значений в списке.
Давайте посмотрим, как сделать это с помощью генератора словаря:
Наконец, давайте рассмотрим, как рассчитать относительные частоты с помощью генератора списка:
Библиотека Pandas делает расчёт абсолютных частот очень простым благодаря методу .value_counts()
. Давайте посмотрим, как это работает на практике:
Чтобы вычислить относительные частоты в Pandas, можно воспользоваться методом .value_counts()
и передать параметр normalize=True
:
В этой статье вы узнали, как рассчитать абсолютные и относительные частоты с помощью чистого Python и библиотеки Pandas. В частности, вы использовали словари, генераторы списков, а также метод Pandas .value_counts()
для расчёта частот.
Чтобы узнать больше о методе .value_counts()
, ознакомьтесь с