1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordc

【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordc

时间:2021-08-08 18:07:16

相关推荐

【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordc

测试文章【无尽武装】与字数【557万】分析:

1、环境需求:【python】【jieba】【wordcloud】【matplotlib】

我这里提供了【wordcloud】与【matplotlib】,【jieba如果使用失败请查看我【python爬虫】文章里的解决内容】

2、提供的代码:【只需要更换你想解析文本的地址即可】

import jiebaimport osfrom wordcloud import WordCloudimport matplotlib.pyplot as pltfile=open(r"E:\save\study\python\keyWords\keyWords\无尽武装.txt","r")strs=file.read()file.close()words = jieba.lcut(strs)# 使用精确模式对文本进行分词counts = {}# 通过键值对的形式存储词语及其出现的次数#统计词频for word in words:if len(word) == 1: # 单个词语不计算在内continueelse:counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1#注解:dict.get(word,0)当能查询到相匹配的字典时,就会显示相应key对应的value,如果不能的话,就会显示后面的这个参数#有些不重要的词语但出现次数较多,可以通过构建排除词库excludes来删除text=' '.join(words)excludes = {'一个','就是','我们','他们','你们','不可','知道','这里','却说','自己','这样','怎么','不是', '不知','这个','不能','如此'}#删除不重要的词语for exword in excludes:del(counts[exword])items = list(counts.items())items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序#输出统计结果for i in range(50):word, count = items[i]print("{0:<5}{1:>5}".format(word, count))#绘图 wc=WordCloud(background_color='white',# 设置背景颜色font_path='msyh.ttc',# 若是有中文的话,这句代码必须添加,不然会出现方框,不出现汉字 scale=2, #按照比例进行放大画布,如设置为2,则长和宽都是原来画布的1.5倍max_words=100,# 设置最大现实的字数 max_font_size=80,# 设置字体最大值 stopwords=excludes)# 设置停用词 wc.generate(text)# 显示词云图 plt.imshow(wc)plt.axis('off') plt.show() wc.to_file(r'无尽武装词频统计.jpg')

3、显示效果与文件保存:

【会在当前项目文件夹下保存名称.jpg文件,测试代码中是【无尽武装词频统计.jpg】自行更换即可】

希望能对大家有所帮助。

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。

【万能小说分析】【python】【词频分析】【词频统计】【jieba】【matplotlib】【wordcloud】【绘图】

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。