Как рассчитать относительную частоту в Python


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

Вы можете использовать следующую функцию в Python для вычисления относительных частот:

def rel_freq (x):
 **freqs = [(value, x.count(value) / len(x)) for value in set(x)] 
 **return freqs

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: относительные частоты для списка чисел

В следующем коде показано, как использовать эту функцию для вычисления относительных частот для списка чисел:

#define data
data = [1, 1, 1, 2, 3, 4, 4]

#calculate relative frequencies for each value in list
rel_freq(data)

[(1, 0.42857142857142855),
 (2, 0.14285714285714285),
 (3, 0.14285714285714285),
 (4, 0.2857142857142857)]

Способ интерпретации этого вывода следующий:

  • Значение «1» имеет относительную частоту 0,42857 в наборе данных.
  • Значение «2» имеет относительную частоту 0,142857 в наборе данных.
  • Значение «3» имеет относительную частоту 0,142857 в наборе данных.
  • Значение «4» имеет относительную частоту 0,28571 в наборе данных.

Вы заметите, что все относительные частоты в сумме дают 1.

Пример 2: относительные частоты для списка символов

В следующем коде показано, как использовать эту функцию для вычисления относительных частот для списка символов:

#define data
data = ['a', 'a', 'b', 'b', 'c']

#calculate relative frequencies for each value in list
rel_freq(data)

[('a', 0.4),('b', 0.4),('c', 0.2)]

Способ интерпретации этого вывода следующий:

  • Значение «а» имеет относительную частоту 0,4 в наборе данных.
  • Значение «b» имеет относительную частоту 0,4 в наборе данных.
  • Значение «с» имеет относительную частоту 0,2 в наборе данных.

Опять же, все относительные частоты в сумме дают 1.

Пример 3: относительные частоты для столбца в кадре данных pandas

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

import pandas as pd

#define data
data = pd.DataFrame({'A': [25, 15, 15, 14, 19],
 'B': [5, 7, 7, 9, 12],
 'C': [11, 8, 10, 6, 6]})

#calculate relative frequencies of values in column 'A'
rel_freq( list (data['A']))

[(25, 0.2), (19, 0.2), (14, 0.2), (15, 0.4)]

Способ интерпретации этого вывода следующий:

  • Значение «25» имеет относительную частоту 0,2 в столбце.
  • Значение «19» имеет относительную частоту 0,2 в столбце.
  • Значение «14» имеет относительную частоту 0,2 в столбце.
  • Значение «15» имеет относительную частоту 0,4 в столбце.

Опять же, все относительные частоты в сумме дают 1.

Дополнительные ресурсы

Калькулятор относительной частоты
Гистограмма относительной частоты: определение + пример
Как рассчитать относительную частоту в Excel