python中可采用模块collections中的Counter统计词频,首先来一个直观的认识:
from collections import Counter
c = Counter(['11', '22', '11', '33', '11', '44', '55'])
c2 = Counter("abcdefdasfdsafaf")
print(c)
print(c2)
输出结果:
Counter({'11': 3, '22': 1, '33': 1, '44': 1, '55': 1})
Counter({'a': 4, 'f': 4, 'd': 3, 's': 2, 'b': 1, 'c': 1, 'e': 1})
Counter是字典的子类。 可见Counter可以很方便的统计字符的频次。
那么,使用counter统计文本词频具体实现如下:
代码中用到的all.txt文本内容如下:
北京故宫是中国明清两代的皇家宫殿,旧称紫禁城,位于北京中轴线的中心,是中国古代宫廷建筑之精华。北京故宫以三大殿为中心,占地面积72万平方米,建筑面积约15万平方米,有大小宫殿七十多座,房屋九千余间。是世界上现存规模最大、保存最为完整的木质结构古建筑之一。
北京故宫于明成祖永乐四年(1406年ÿ