python对红楼梦的每一章节进行词频统计

import jieba
f=open("G:\\红楼梦.txt","r",encoding="utf-8")
txt=f.read()
words=jieba.lcut(txt)#精准模式
ls=[]
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201030001436824.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3RkbDMyMDcyMQ==,size_16,color_FFFFFF,t_70#pic_center)for word in words:a={}if word[0] == "第" and word[-1] == "回":if word in ls:continueelse:ls.append(word)
print(ls)for i in range(len(ls)):print(ls[i])a={}if i<len(ls)-1:for word in words[words.index(ls[i])+1:words.index(ls[i + 1])]:if len(word) == 1:  # 排除单个字符的统计结果continueelse:a[word] = a.get(word, 0) + 1elif i ==len(ls)-1:#最后一回for word in words[words.index(ls[i])+1:]:if len(word) == 1:  # 排除单个字符的统计结果continueelse:a[word] = a.get(word, 0) + 1items = list(a.items())  # 将字典转换为记录列表items.sort(key=lambda x: x[1], reverse=True)  # 记录第二列排序for i in range(5):word, count = items[i]print("{0:<10}{1:>5}".format(word, count))print("\n")f.close()

第一步是打开红楼梦.txt文件,只读的方式,使用UTF-8编码方式
第二步是使用精准模式,将单词保存到words列表中,再将“第几回”存放到一个新的列表中,便于对红楼梦文件每一回进行切片,切边的界点便是第多少回这样的字眼,第一种统计是第i回到第i+1回的之间的词频统计,还有一种就是最后一回的词频统计。
使用一个字典类型a={},统计单词的次数:

for word in words:if len(word)==1:#排除单个字符的统计结果continueelse:a[word]=a.get(word,0)+1

如果字符长度为1则跳过,否则使用a.get(word,0)方法表示:如果word在a中则返回word对应的值,如果word不在a中就返回0。
第三步是对单词的统计的值从高到低进行排序,输出前5个高频词语,并格式化打印输出。由于字典没有顺序,需要将其转换为有顺序的列表类型,再使用sort()方法和lambda函数配合实现单词出现的次数,对元素进行排序。最后输出排序结果前15位的单词。

items=list(a.items())#将字典转换为记录列表
items.sort(key=lambda x:x[1],reverse=True)#记录第二列排序

python对红楼梦的每一章节进行词频统计相关推荐

  1. python分析红楼梦出现的虚词词频统计,python对红楼梦的每一章节进行词频统计

    python对红楼梦的每一章节进行词频统计 python对红楼梦的每一章节进行词频统计 import jieba f=open("G:\\红楼梦.txt","r" ...

  2. python红楼梦词云_用Python读红楼梦之——二、词云美化

    原文链接 咱们书接上回,讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了. 我们先来找照片,这张照片不错,不过还是要 ...

  3. python红楼梦人物词频统计_用Python绘制红楼梦词云图,竟然发现了这个!

    原标题:用Python绘制红楼梦词云图,竟然发现了这个! Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具 ...

  4. 用Python读红楼梦之——一、词云绘制

    原文连接 Python在数据分析中越来越受欢迎,已经达到了统计学家对R的喜爱程度,Python的拥护者们当然不会落后于R,开发了一个个好玩的数据分析工具,下面我们来看看如何使用Python,来读红楼梦 ...

  5. python分析红楼梦出现的虚词词频统计_用Python分析红楼梦,见证贾府的兴衰

    分词词频统计 什么是分词?众所周知中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如我是一个学生.计算机不能很容易明白"学"."生"两个字合起来才表示 ...

  6. 用Python读红楼梦之——二、词云美化

    原文连接 咱们书接上回,讲到我们使用Python把红楼梦中的核心词汇给绘画出来了,但是,红楼梦这么唯美的书,给我们乌漆麻黑的搞了一张词云,宝宝们肯定接受不了. 我们先来找照片,这张照片不错,不过还是要 ...

  7. 北京交通大学Python课程设计大作业(四)——典籍词频统计

    北京交通大学Python课程设计大作业(四)--典籍词频统计 文章目录 北京交通大学Python课程设计大作业(四)--典籍词频统计 一.词频统计任务介绍 二.典籍词频统计python源代码如下 三. ...

  8. python之红楼梦词频统计并生成图云

    一共三个文件 Hlm.py stop_words.txt 红楼梦.txt (tips: txt文件已放在文章最后) 废话不多说,直接上效果图和代码: 效果图 Hlm.py 代码部分: import m ...

  9. python《红楼梦》人物统计

    编写程序统计<红楼梦>中前20位出场最多的人物. # a6.6CalRedChamber import jiebajieba.add_word("二姑娘") jieba ...

最新文章

  1. Python测试框架pytest(03)setup和teardown
  2. SSH框架搭建的时候遇到的问题
  3. Java调用Matlab
  4. 最小二乘法多项式拟合的Java实现--转
  5. 应用服务器复杂告警,如何让应用服务器走向集群
  6. python3软件怎么用_Python3学习之路~4.4 软件目录结构规范
  7. 《炉石传说》建筑设计欣赏(7):采用Google.ProtocolBuffers处理网络消息
  8. 笔记 | 《机器学习》中特征选择与稀疏学习
  9. oracle分组关联统计,没有记录则显示0
  10. 用argparse解析布尔值
  11. MYSQL授权root远程访问
  12. java的property_「propertyutils」java之PropertyUtils - seo实验室
  13. 红外遥控Arduino智能小车
  14. 我对秒杀在技术性上的一些看法
  15. vb.net的socket编程
  16. 【信息汇总】北京航空航天大学计算机考研
  17. 王阳明心学:无善无恶心之体,有善有恶意之动,知善知恶是良知,为善去恶是格物。...
  18. kakfa 3.0 创建topic流程(源码)
  19. iOS各版本发布时间和特点
  20. Python基础06-数据结构

热门文章

  1. python二手房价格预测_分析香港2万6千套在售二手房数据,1000万的居然有那么多...
  2. 我的世界版链游Titan Hunters,泰坦猎人研报实测
  3. 从道通诉大疆一案看美国337调查中的国内实业原则
  4. 杰理之二代手表原理图【篇】
  5. [Scene Graph] Neural Motifs: Scene Graph Parsing with Global Context 论文解读
  6. 计算机视觉中的边缘检测
  7. android sdl编译
  8. 炫酷的网页特效展示分享
  9. 麦田厦门小区信息数据爬取
  10. 锁定表格栏位范例网页