如何在 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)]

解释此输出的方法是:

  • 值“a”在数据集中的相对频率为0.4
  • 值“b”在数据集中的相对频率为0.4
  • 值“c”在数据集中的相对频率为0.2

同样,所有相对频率加起来为 1。

示例 3:pandas DataFrame 中列的相对频率

以下代码展示了如何使用此函数来计算 pandas DataFrame 中特定列的相对频率:

 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 中计算相对频率

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注