利用Python实现对一个英文文本的词频统计。文本链接:https://www.philippinetimes.com/news/257886068/australia-blocks-chinese-firms-huawei-zte-from-5g-network

1、元组创建

tup1 = ('Google', 'atguigu', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d"; # 不需要括号也可以

2、字典创建

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict = {x:x+1 for x in range(10)}

3、Set集合创建

s = {'name','aa','bb'}
s = set(序列) # dict序列,值添加key
s = {x for x in range(10) if x not in range(5,10)}

按照图4.2所示的流程图进行文件词频的统计,具体的代码详见附录。

图4.2  词频统计流程图

3 词频统计结果

(1)具体词频统计见附件ex1_词频统计结果.xlsx和ex1_词频统计结果.txt。第一个文件为自己编写的代码,在存储结果的时候对数据进行了一些处理,里面的数据较为规范;第二个文件参考老师讲解,之后在存储文件时采用了列表格式存储。
           

图4.3  词频统计结果示意图

由上述文件可以看出,词频前五的有the、to、and、huawei、that,多数为指示代词或连词。

(2)根据词频生成词云图,见图4.4。

图4.4 词云图

参考资料

  1. Anaconda安装及使用教程:https://zhuanlan.zhihu.com/p/32805175
  2. Python 基础入门--简介和环境配置:https://www.jianshu.com/p/8e56607b0abc
import re
file=open('ex1_news.txt',encoding='ansi')
lowerText=file.read().lower()
file.close()
arr=re.split('[ ,.+"\n]',lowerText)
voc={};
for each in arr:if each not in voc:voc[each]=1;else:voc[each]+=1;
voc.pop('');
vocSorted=sorted(voc.items(),key=lambda x:x[1],reverse=True)# 按照键值进行排序
newFile=open('ex1_词频统计结果.txt','w')
newFile.write(str(vocSorted))
newFile.close()#根据词频生成云图
from wordcloud import WordCloud, ImageColorGenerator
from PIL import Image
import numpy as np
image=Image.open('china_map.jpg');
graph = np.array(image)
# 参数分别是指定字体、背景颜色、最大的词的大小、使用给定图作为背景形状
wc = WordCloud(font_path="C:/Windows/Fonts/simfang.ttf", background_color='white', max_words=100, mask=graph)
wc.generate_from_frequencies(voc)#根据给定词频生成词云
image_color = ImageColorGenerator(graph)
#生成图片
image=wc.to_image()
#显示图片
image.show()
#存储图片
image.save('云图1.jpg')

【编译原理】Python实现对一个英文文本的词频统计相关推荐

  1. 【Python】对英文文本进行词频统计(分词、字典排序、文件读写)

    准备知识 1.python读取文件 推荐链接:Python读写txt文本文件 不想细究,直接上手的读取文件参考代码 #默认文件位置为当前python代码的路径(相对路径) #输出文件应为字符串类型 f ...

  2. 利用python对一段英文文本进行分词,分句

    这两天一直在学习用python进行自然语言处理这本书,当然开始的开始就是要学习python这门脚本语言,遇到了利用自己的语言对一段英文文本进行分词这个问题,找了好多资料都没有找到具体的解答,自己修修改 ...

  3. MATLAB计算英文符号信源熵,基于matlab的英文文本信息量的统计-正确.doc

    基于matlab的英文文本信息量的统计-正确.doc 实验一英文文本信息量的计算一. 实验目的及要求a) 实验目的1. 通过本实验熟悉Matlab软件编程环境2. 编写M文件实现对英文文本信息量的统计 ...

  4. Python案例:两种方法实现词频统计

    Python案例:两种方法实现词频统计 一.利用字典实现词频统计 1.编写源代码 2.查看运行结果 二.利用collections的Counter模块实现词频统计 <

  5. 基于LLVM的编译原理简明教程: 写一个自己的编译器​

    LLVM简介 进入21世纪,新的编程语言如雨后春笋一样不停地冒出来.需求当然是重要的驱动力量,但是在其中起了重要作用的就是工具链的改善. 2000年,UIUC的Chris Lattner主持开发了一套 ...

  6. python 英语分词_基于Python NLTK库进行英文文本预处理

    文本预处理是要文本处理成计算机能识别的格式,是文本分类.文本可视化.文本分析等研究的重要步骤.具体流程包括文本分词.去除停用词.词干抽取(词形还原).文本向量表征.特征选择等步骤,以消除脏数据对挖掘分 ...

  7. 编译原理 yacc lex 制作一个计算器

    这篇文档是我从别的地方摘抄的,留给自己以后回忆使用.(写的非常详细!) Flex工具的使用方法 Lex 是一种生成扫描器的工具. Lex是Unix环境下非常著名的工具,主要功能是生成一个扫描器(Sca ...

  8. 编译原理课程实践——实现一个初等函数运算语言的解释器或编译器

    编译原理课程实践--实现具有初等函数运算语言的解释器或编译器 作者:Sylvan Ding |转载请注明文章出处! 摘要:本文主要内容是设计词法分析器.语法分析器(LL(1).SLR(1))和语义分析 ...

  9. 【词频统计】--用python的jieba进行英文文本词频统计

    目录 1.基本思路:统计哈利波特小说中词频最高的前20个,去掉一些停用词(如is) 2.停用词(截取部分) 3.代码如下 4.小知识:元组可以用来这样赋值 1.基本思路:统计哈利波特小说中词频最高的前 ...

最新文章

  1. 入门HTML的回顾,小总结
  2. SSM-查询数据库获取下拉框的值并作为查询的筛选条件
  3. JAVA获取json中的值
  4. LeetCode-148:排序链表
  5. echarts 饼图
  6. java设置日历_java – 设置日历实例的时间
  7. 笨方法学python第二版_笨方法学python II
  8. JDY-16 蓝牙4.2模块串口测试方法
  9. 蚁群算法原理及Matlab实现
  10. Rust本地化实现 —— fluent
  11. vue调用服务器图片
  12. 添加MySQL到环境变量(超详细)
  13. Games101 笔记 Lecture 7-9 Shading (Illumination, Shading)
  14. 手撕代码deep image matting(6):dataset(1)
  15. 苏宁 android面试题,苏宁面试题.doc
  16. 爬虫实战5:爬取全部穿越火线武器的图片以武器名称命名保存到本地文件
  17. 提高php性能的介意,ThinkPHP5提升性能的办法_浙江PHP博客
  18. 风管类型在RevitMEP中快速批量改变及管线偏移对齐
  19. SAP中关于COGI删除记录
  20. 蓝牙协议分析(11)_BLE安全机制之Security Manager

热门文章

  1. xshell免费版本下载
  2. 单面机51小车程序_4千元牛排机实测!小白也能做出星级牛排,在家吃出法式餐厅感觉...
  3. php模拟QQ登录获得skey码,php模拟qq登录代码
  4. TJA1043 CanTrcv
  5. Creating and Configuring a CDB
  6. IE高版本如何设置IE低版本进行测试
  7. 深入浅出keepalived+nginx实现网关主备高可用
  8. 校园卡查询系统C语言,校园卡帐号的查询方法
  9. 如何只用与非门、或非门构成或门、与门、非门?
  10. S3C6410 SD Card一键烧写 WINCE 6.0