python简单练习 -统计文本词频并用柱状图显示

函数功能:统计文本中单词频率,并用柱状图显示前10个最高的单词

这里统计的是函数所在文件本身

import turtlecount = 10
data = []
words = []
# y
yScale = 6
# X
xScale = 30def drawLine(t, x1, y1, x2, y2):t.penup()t.goto(x1, y1)t.pendown()t.goto(x2, y2)def drawText(t, x, y, text):t.penup()t.goto(x, y)t.pendown()t.write(text)def drawRectangle(t, x, y):x = x*xScaley = y*yScaledrawLine(t, x-5, 0, x-5, y)drawLine(t, x-5, y, x+5, y)drawLine(t, x+5, y, x+5, 0)drawLine(t, x+5, 0, x-5, 0)def drawBar(t):for i in range(count):drawRectangle(t, i+1, data[i])def drawGraph(t):drawLine(t, 0, 0, 360, 0)drawLine(t, 0, 300, 0, 0)for x in range(count):x=x+1drawText(t, x*xScale-4, -20, (words[x-1]))drawText(t, x*xScale-4, data[x-1]*yScale+10, data[x-1])drawBar(t)def replacePunctuations(line):for ch in line:if ch in "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~":line = line.replace(ch, " ")return linedef processLine(line, wordCounts):line = replacePunctuations(line)words = line.split()for word in words:if word in wordCounts:wordCounts[word] += 1else:wordCounts[word] = 1def main():filename = "test1.py"infile = open(filename, "r")wordCounts = {}for line in infile:processLine(line.lower(), wordCounts)pairs = list(wordCounts.items())items = [[x, y] for (y, x) in pairs]items.sort()for i in range(len(items)-1, len(items)-count-1, -1):print(items[i][1]+"\t"+str(items[i][0]))data.append(items[i][0])words.append(items[i][1])turtle.title("histogram")turtle.setup(900, 750, 0, 0)t = turtle.Turtle()t.hideturtle()t.width(3)drawGraph(t)if __name__ == "__main__":main()
实现结果如下:

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今日《科学》封面:纳米级清晰度看大脑是怎样一种体验?

来源&#xff1a;药明康德微信团队摘要&#xff1a;在最新出版的《科学》杂志上&#xff0c;由麻省理工学院&#xff08;MIT&#xff09;和霍华德休斯医学研究所&#xff08;HHMI&#xff09;的科学家们领衔的一支团队&#xff0c;成功对果蝇的完整大脑进行了成像&#xff0c;清…

java的System.getProperty()方法能够获取的值

java.version Java 执行时环境版本号 java.vendor Java 执行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装文件夹 java.vm.specification.version Java 虚拟机规范版本号 java.vm.specification.vendor Java 虚拟机规范供应商 java.vm.spec…

Python中class的简单介绍

类的定义 class classname[(父类名)]: – 成员函数及成员变量_ init _ 构造函数&#xff1a;初始化对象_ del_ 析构函数&#xff1a;销毁对象定义类的成员函数时&#xff0c;必须默认一个变量代表类定义的对象本身&#xff0c;这个变量的名称可自行定义&#xff0c;下面的程序…

中国演绎太空生命传奇

来源&#xff1a;人民日报海外版摘要&#xff1a;人类不仅在努力增加对地球家园的认识&#xff0c;而且推进航天科技发展&#xff0c;进入浩渺的太空&#xff0c;探索宇宙的奥秘。在太空中绽放的花朵嫦娥四号搭载的微型生物圈载荷手绘图搭载探空火箭进入太空的两只小狗“小豹”…

FL2440移植linux内核常用命令(command)

Host Ubuntu系统:sudo ifconfig eth0 192.168.1.2打补丁(补丁和内核在同一目录下/home/chris/temp)&#xff1a;cd /home/chris/temp/linux-3.0patch -p1 < ../linux-3.0-s3c2440.patch开发板u-boot:setenv bootargs root/dev/nfs rw nfsroot192.168.1.2:/home/chris/nfs_wo…

C++预处理指令#define,#if,#endif等

转载自&#xff1a;“https://www.cnblogs.com/xiehongfeng100/p/4594849.html”&#xff0c;原文写的更加详细&#xff0c;还有代码解释&#xff0c;建议看原文。 本文主要记录了C/C预处理指令&#xff0c;常见的预处理指令如下&#xff1a; #空指令&#xff0c;无任何效果 …

李伯虎院士:新一代人工智能引领下的智造制造初步实践

来源&#xff1a;电能革命由中国智能制造百人会主办的“2018智造百强榜高峰会暨2019中国智能制造百人会年会上”于2019年1月11日在北京科技会堂举行。中国工程院院士/国家制造强国战略咨询委员会委员李伯虎做“新一代人工智能引领下的智造制造初步实践”的演讲。以下为演讲的速…

js中的escape的用法汇总

js对文字进行编码涉及3个函数&#xff1a;escape,encodeURI,encodeURIComponent&#xff0c;相应3个解码函数&#xff1a;unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent&#xff0c;这样组合的url才不会被#等特殊字符截断。 …

Python中Turtle绘图函数-绘制时钟程序

Turtle常用的一些函数&#xff0c; 参考博客&#xff1a;http://blog.csdn.net/zengxiantao1994/article/details/76588580 时钟代码设计 我们可以通过main函数查看整个时钟代码的设计设计指针&#xff08;Init()&#xff09;并显示指针&#xff1a;设计指针的方向(turtle.m…

5G的未来投资机会在哪里?

来源&#xff1a;网易智能日前&#xff0c;为了更好地以资本助推5G产业发展&#xff0c;中国移动投资公司与中国移动研究院联合发布了《洞见5G&#xff0c;投资未来——中国5G产业发展与投资报告》&#xff0c;分析了5G对生产和生活带来的变革&#xff0c;研判5G产业建设的投资…

C语言查找算法

/** 查找(数组) 1> 顺序查找 &#xff1a; 就是遍历数组每一个元素同该元素比较&#xff0c;但是问题是效率比较低 2> 折半查找 &#xff1a; 条件是数组必须是有顺序的 */ #include <stdio.h> #define n 2 int main() { // 折半查找 /* 思路&#xff1a;将该元素同…

python在windows系统中安装pandas,numpy

进入python的安装目录的sripts文件夹下&#xff0c; 在该文件夹下进入命令行&#xff0c;在命令行输入pip install pandas 等待成功安装 转载自&#xff1a;https://www.cnblogs.com/xuqiulin/p/6623154.html

华为5G首席科学家童文 | 5G:万物连接平台 智能世界基石

华为5G首席科学家、华为Fellow童文博士来源&#xff1a;华为2019年是5G产业进入全面商用的关键一年&#xff0c;全球5G网络的部署已经启动。2018年6月&#xff0c;5G独立组网标准冻结&#xff0c;5G完成了第一阶段全功能eMBB标准化工作&#xff1b;12月6日, 中国三大运营商获得…

js处理日期的一些整理(js获取给定日期前一天的日期)

var date new Date();alert(date);//获取当前时间 alert(date.getFullYear());//获取当前年分 alert(date.getMonth());//获取月份&#xff08;获取当前月份要加1&#xff09; alert(date.getDate());//获取当前日期的几号 alert(date.getDay());//获取当前是星期几 alert(dat…

windows下配置tensorflow

我使用的是python3.6版&#xff0c;目前该版本可以使用tensorflow&#xff0c; 安装tensorflow&#xff0c;参考博客 &#xff1a;https://www.cnblogs.com/nosqlcoco/p/6923861.html 在pycharm下配置tensorflow&#xff0c;参考博客&#xff1a;https://www.cnblogs.com/yingc…

深度解密:软银孙正义如何成为美国硅谷最有权势之人

来源&#xff1a;腾讯科技摘要&#xff1a;据外媒报道&#xff0c;伊隆马斯克、杰夫贝索斯亦或是马克扎克伯格(&#xff0c;都不如日本亿万富翁孙正义那样&#xff0c;对AI驱动的未来有着最大胆的愿景。在孙正义看来&#xff0c;未来机器将控制着我们的生活方式。为了实现这个愿…

【笔记】Windows Phone 8开发笔记之API

Windows Phone 8 API一览 Windows Phone 7平台不支持Native语言的开发&#xff0c;这困扰了许多游戏和底层应用的开发者。Windows Phone 8 SDK的推出&#xff0c;改善了这个情况。下图就是Windows Phone 8 的API构成。 1. .NET API for Windows Phone Windows Phone 8支持的托管…

自动驾驶之路已走了多远?一文读懂研究现状

作者&#xff1a;Claudine Badue等编译&#xff1a;机器之心 Panda摘要&#xff1a;自动驾驶载具或将引爆人类的下一次出行方式革命&#xff0c;而我们目前又已经走到了哪一步&#xff1f;近日&#xff0c;巴西圣埃斯皮里图联邦大学的研究者在 arXiv 上发布了一篇自动驾驶汽车研…

OpenCV的基本模块介绍

####文件结构 在调用opencv时需要用到的头文件分布&#xff08;默认安装情况下&#xff0c;同时下面都是基于2.4.x版本&#xff09;&#xff1a; 对windows系统来说&#xff0c;一般在OPENCV_DIR/build/include/文件夹下&#xff0c;所以在VS中调用时需要配置附加库目录&#…

真的超越了波士顿动力!深度强化学习打造的 ANYmal 登上 Science 子刊

编译&#xff1a;机器之心深度强化学习开发出的机器人模型通常很难应用到真实环境中&#xff0c;因此机器人开发中鲜少使用该技术。然而这已经板上钉钉了吗&#xff1f;在两天前引发人工智能界关注的 ANYmal 机器人中&#xff0c;其机动性和适应性看起来丝毫不逊色于波士顿动力…