词频统计之《三国演义》

描述:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

参考课本P173实例代码10.2,统计《三国演义》(文件:三国演义.txt 编码格式 utf-8)中一些主要人物名字出现的次数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

需统计次数的人物名字:孔明、玄德、曹操、关公、张飞 出现的次数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

输入:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

无‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

输出:
在这里插入图片描述
注意:输出如上图,按递减顺序输出统计结果;打开文件 三国演义.txt 使用语句open(“三国演义.txt”, “r”,encoding=“utf-8”).read()。

import jieba

name_dict = {'曹操':0, '孔明':0, '玄德':0, '关公':0, '张飞':0}

txt = open("三国演义.txt", "r",encoding="utf-8").read()

words = jieba.lcut(txt)

for word in words:
    if word in name_dict:
        name_dict[word] += 1

name_dict = sorted(list(name_dict.items()), key=lambda item: item[1], reverse=True)

for item in name_dict:
    print('{} : {}'.format(item[0], item[1]))
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你完成这个任务。 首先,你需要先下载《三国演义》的电子版文本,将其保存为txt格式。然后,你需要安装一些Python库,包括jieba(用于中文分词)、wordcloud(用于生成词云图)等。你可以使用以下命令进行安装: ```python !pip install jieba # 安装中文分词库jieba !pip install wordcloud # 安装生成词云图库wordcloud ``` 然后,你可以使用以下Python代码进行词频统计和生成词云图: ```python import jieba from collections import Counter from wordcloud import WordCloud # 读取文件 with open('san_guo_yan_yi.txt', 'r', encoding='utf-8') as f: content = f.read() # 分词 words = jieba.cut(content) # 统计词频 word_counts = Counter(words) # 获取前10个高频词 top_10_words = word_counts.most_common(10) # 输出前10个高频词 print('前10个高频词:') for word, count in top_10_words: print('{}: {}'.format(word, count)) # 生成词云图 wordcloud = WordCloud(background_color='white', font_path='simhei.ttf', width=800, height=600) wordcloud.generate_from_frequencies(word_counts) wordcloud.to_file('wordcloud.png') ``` 其中,`san_guo_yan_yi.txt`是保存《三国演义》文本的文件名,需要根据实际情况修改。`top_10_words`存储了前10个高频词,你可以根据需要修改为前20个或其他数量。`simhei.ttf`是一个中文字体文件,用于在词云图中显示中文。你需要将其下载并保存在与Python文件相同的目录下。 运行以上代码后,你可以得到前10个高频词,并保存一个名为`wordcloud.png`的词云图。你可以使用以下代码显示词云图: ```python import matplotlib.pyplot as plt # 显示词云图 plt.imshow(wordcloud) plt.axis('off') plt.show() ``` 运行后,你就可以看到生成的词云图了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值