本篇博客介绍2个第三方库,中文分词库jieba和词云库WordCloud,我们将完成三个例子:
统计英文词汇频率
统计中文文本词汇频率使用jieba库
生成词云
在正式开始之前,我们先安装两个第三方库:中文分词库jieba和词云库WordCloud
统计英文词汇频率
英文词汇统计十分简单,因为每个单词之间都是用空格分开的的,当然也有一些特殊模号,我们将对整个文本进行噪音处理,然后将其分割成单词,存入字典中,再给词汇按照频率排序,步骤如下:
从文件流 中读取一段全英文文本
将文本用lower()归一化成小写形式
将文本中的特殊符号:;<>"~!@#$%^&*()-+[]|{}/*.,?过滤,替换成空格for ch in ';<>"~!@#$%^&*()-+[]|{}/*.,?':replace
将文本split,划分成单个单词,返回一个列表
遍历这个列表,按照单词=>出现次存入字典中:counts[x]=counts.get(x,0)+1
使用items()返回一个列表,给列表排序
格式化输出这个列表
代码如下:
#coding=gbk
def getText(fileName):
f=open(fileName,'r')
txt=f.read().lower()
for ch in ';<>"~!@#$%^&*()-+[]|{}/*.,?':
txt=txt.replace(ch,' ')
f.close()
return txt
def comp(x):
return x[1]
def main():
txt=getText('English.txt')
words=txt.split()
counts={}
for x in words:
counts[x]=counts.get(x,0)+1