如何在Python中创建频率表

  • Post category:Python

下面是在Python中创建频率表的完整攻略。

什么是频率表

频率表是用于统计一组数据中各个元素出现次数的数据结构。它通常用于数据分析和研究中,经常和直方图、饼图等数据可视化工具配合使用。

如何创建频率表

在Python中,可以使用collections模块中的Counter类来快速创建频率表。

步骤1:导入模块并创建计数器

from collections import Counter
c = Counter()

步骤2:向计数器中添加数据

计数器可以接受任意可迭代对象作为输入,例如列表、字符串等。

c.update([1, 2, 3, 4, 5, 6, 1, 2, 3, 1])
c.update("hello world")

步骤3:输出结果

输出结果可以使用items()方法来获取元素和出现次数的列表。

print(c.items())
# 输出结果:dict_items([(1, 3), (2, 2), (3, 2), (4, 1), (5, 1), (6, 1), ('h', 1), ('e', 1), ('l', 3), ('o', 2), (' ', 1), ('w', 1), ('r', 1), ('d', 1)])

可以看到,Counter类将输入数据转换成了一个字典,其中键是元素,值是元素出现的次数。

示例1:用频率表统计单词出现次数

下面的示例展示了如何使用频率表统计一段文本中单词出现的次数。

text = "the quick brown fox jumps over the lazy dog"
words = text.split()
c = Counter(words)
print(c.items())

输出结果为:

dict_items([('the', 2), ('quick', 1), ('brown', 1), ('fox', 1), ('jumps', 1), ('over', 1), ('lazy', 1), ('dog', 1)])

可以看到,通过Counter类我们快速地统计了文本中各个单词出现的次数。

示例2:用频率表统计骰子点数出现次数

下面的示例展示了如何使用频率表统计100次掷骰子后各个点数出现的次数。

import random
c = Counter()
for i in range(100):
    roll = random.randint(1, 6)
    c.update([roll])
print(c.items())    

输出结果为:

dict_items([(1, 19), (2, 17), (3, 19), (4, 14), (5, 13), (6, 18)])

可以看到,通过Counter类我们成功地计算了每个点数出现的次数。

到此为止,这就是在Python中创建频率表的完整攻略。希望对你有所帮助。