摘要:
本次项目主要是对英文文献进行词频统计,利用给定的数据集中已分好的初级、中级、高级三个等级,对英文文献中的单词进行分级处理,并得到各个等级所占比重,画出统计图(饼图)。此项目用到python的模块有:tkinter(用来搭建词频统计的前台界面)、pandas、numpy、operator、matplotlib。第一章主要介绍数据预处理,第二章对功能进行介绍,第三章实现前台界面与功能实现。

一、数据处理

1.导入xlsx数据集

导入后利用head初步查看数据集情况

根据显示结果可以看出,数据集中有大量的NaN空值出现,两个单词挤在同一个单元格中的情况,单词前后还有大量的空格等问题,单词无法全部正常读入,这样都会影响后面词频统计和计算各个等级占比,所以下面要对数据进行清洗。
2.查看数据类型

3.多列变为一列
首先要把DataFrame类型转化为Array,然后运用Array中的reshape方法把多列变为一列。


4.去除含有NaN的行
去除NaN需要用到dropna方法,但是dropna方法针对DataFrame类型,所以首先需要把array类型转为DataFrame。


5.定义列名

6.去除特殊符号
单词中含有空格、特殊字符等一些特殊符号,会影响到计算结果。所以我们利用Strip方法对primary数据集进行操作
去空格

去数学符号

7.分裂数据
单词有多个单词在一个单元格的情况。要对其进行分裂处理,word book1 中可以看到两个单词中间是\n,所以我们用\n来作为标志,来进行分裂。

可以看出单词已从第一列中分离出来,并多出两列进行存放分裂出来的单词,下面把分裂出的单词也都放在第一列。

再次去除数据集中的NaN,得到处理完成的数据集为:primary。

根据处理word book1 的方法,同样处理word book2、word book3,处理完成后的命名分别为middle、senior。

二、功能实现

需要实现三个功能,一个是词频统计,一个是各个等级占比统计,还有统计图的绘制。我选取了一篇英文演讲稿。

1.词频统计


首先把文章中所有的单词转换为小写,然后利用字典遍历文章中所有的单词,计算每一个单词所出现的次数,为了能够更清楚直观的显示,修改词频格式。
结果图:

2.词汇等级统计

此功能为了实现统计文章中的单词都在初、中、高、其他词汇中所占比重。也可以看出文章的难以程度,我们利用For循环遍历整个文章,其中如果单词在数据集primary中则我们给定计数器j加1,如果在数据集middle则给计数器k加1,如果在数据集senior给计数器m加1,剩下的单词则为其他词汇的计数器W所接受,g为总单词数的计数器。最后输出各个计数器数值与总数的比例。代码如下:

结果图:

3.绘制统计图

根据上面词频统计所得到的各个等级的单词数,可以进行绘制统计图。利用matplotlib.pyplot中的pie进行绘制饼图,可以更好的体现各个等级占比数。代码如下:

结果图:

三、前台界面设计与功能实现

Python中前台界面设计需要利用tkinter模块来实现。

首先创建窗口并定义名字和大小。界面设计代码如下:

界面展示:

Entry为输入英文文章框,与词频统计button紧密相连,点击“词频统计”则触发onclick方法,onclick方法为封装好的词频统计功能。其中统计的文章为用户在Entry中输入的英文文章,利用get方法得到输入框内容,来进行统计。统计结果利用insert方法输出到下面的Text文本框中。
实现代码为:

词频统计结果图:

点击“统计每个级别所占比”按钮,运用Buttoon 中的command调用封装好的word_frequency方法,用来计算占比,和绘制统计图。计算的占比显示在下面的Text文本框中。实现代码为:

结果图:

点击“画出统计图”则弹出另一个界面显示所绘制得饼图。界面封装函数代码为:

利用PhotoImage提取打印出的饼图,显示在Label中,并且利用TOPLEVEL重新开启一个新的窗口中显示。得到如图下面得结果。

结论
第二章中我们是给定一个英文文章,然后给定词频统计、各个等级占比、绘制统计图,第三章中利用图形界面我们把这项工作变得智能化。可以输入不同得文章进行词频统计、各个等级占比、绘制统计图。可以说这是个小型得软件程序。通过此次实验中遇到得问题我看到了数据预处理的重要性,它可以直接关系到后面功能的准确度。根据自己不断的优化和清洗数据,使得现在得程序已经基本稳定,数值基本准确。以前没有接触到Tkinter,通过这次学习也对它有了进一步得了解,下一次应该会找一个更大得数据集来对软件进行优化。

数据分析处理之词频统计相关推荐

  1. 《Python数据分析与挖掘》实战项目 - Python程序设计(期末大作业、课程设计、毕业设计)2012-2021近十年考研英语一真题词汇词频统计与可视化(附代码)

    <Python数据分析与挖掘> - 2012-2021近十年考研英语一真题词汇词频统计与可视化 声明 本文仅在CSDN发布,其他均为盗版.请支持正版! 正版链接: https://blog ...

  2. Pytorch 文本数据分析方法(标签数量分布、句子长度分布、词频统计、关键词词云)、文本特征处理(n-gram特征、文本长度规范)、文本数据增强(回译数据增强法)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 文本数据分析 学习目标: 了解文本数据分析的作用. 掌握常用的 ...

  3. 用R语言做词频统计_R语言 | 词频统计

    Python网络爬虫与文本数据分析 本章内容 导入停用词 读数据,分词 剔除停用词 导入停用词表 library(dplyr) ## [1] "?" "." & ...

  4. Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)

    声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的百度云(联网),和Ubuntu系统的hadoop1-2-1(自己提前配好).如不 ...

  5. jieba库词频统计_网购评论之词频分析

    日常数据分析中,词频分析是一个很好的文本挖掘方法,这篇文章说说词频分析方法. 这里选用京东商场中购买手机的部分数据信息,利用jieba词库对购物评论进行分词,提取客户群体对手机的关注点. 数据集来源: ...

  6. 超强大在线词频统计功能,从一篇文章到一个G的文本均可轻松统计

    词频分析是对文章中重要词汇出现的次数进行统计与分析,是文本挖掘的重要手段.它是文献计量学中传统的和具有代表性的一种内容分析方法,基本原理是通过词出现频次多少的变化,来确定热点及其变化趋势. 前一阵子有 ...

  7. +中文词频统计及词云制作9-25

    1.我希望老师能讲一点python在数据挖掘,数据分析领域的应用,最好能举些实例,或者说带我们实际操作一波. 2.中文分词 下载一中文长篇小说,并转换成UTF-8编码 使用jieba库,进行中文词频统 ...

  8. Python如何进行词频统计?3种方法教给你

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 以下文章来源于快学Python ,作者小小明 Python爬虫.数据分析.网站开发等案例教程 ...

  9. 利用Python进行词频统计并生成词云——以京东商城iphone13购物评论为例

    本文介绍一种快速生成关键词-词频统计-词云生成的办法,作为Python数据分析初级技能,除基本运行环境外无需其他软件或工具,且流程搭建成功后可重复利用,可极大提升相似事务的处理效率. 一.操作环境 1 ...

  10. python词云图词频统计

    目录 一:安装必要的库 二:数据分析 条形图可视化 三:数据分析 词频统计 词云图可视化 一:安装必要的库 导入必要的库 import collections # 词频统计库 import os im ...

最新文章

  1. 不要去追一匹马,用追马的时间种草
  2. android表格自动刷新,Android SwipeRefreshLayout 自动刷新
  3. 三伏天到了,记得为数据中心降降温
  4. ChaosBlade 在工商银行混沌工程体系中的应用实践
  5. java sqlserver 2000_谁能救救我啊,关于JAVA连接SQLserver2000
  6. python联盟是什么意思_Python 与 英雄联盟(1)
  7. C++ while(cin>>a) cin输入直到回车结束
  8. .NET Core 3.0 本地工具
  9. Sharepoin学习笔记 —架构系列--02 Sharepoint的处理(Process)与执行模型(Trust Model) 1
  10. 技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
  11. 算法高级(36)-如何利用并行提高算法的执行效率?
  12. 华为鸿蒙os内测,华为“鸿蒙OS”内测信息曝光:界面与EMUI有6个明显不同
  13. 悟透delphi 第五章 包
  14. 计算机组成原理 学后感,计算机组成原理实验学习感想及意见和建议
  15. 如何判断行业和公司的「钱途」
  16. 乐味煲耳机软件中文版解读
  17. java put方式提交_java – 通过HTTP PUT请求上传文件
  18. 现在可以把小程序交给第三方开发或管理了
  19. C语言 AES算法 加密解密
  20. 中医针灸学综合练习题库【7】

热门文章

  1. 如何搭建个人博客网站
  2. 实时音视频质量评估方案
  3. 复杂性思维中文第二版 五、细胞自动机
  4. f检验matlab计算,F检验(F-Test)计算公式与在线计算器_三贝计算网_23bei.com
  5. ubuntu降低内核版本
  6. 计算机word页面设置A5,word页面缩放怎样设置
  7. OpenFileDialog/SaveFileDialog 中 Filter用法?
  8. 阿里企业邮箱产品优势、功能、版本介绍
  9. 吴伯凡-认知方法论-知行合一的本质
  10. 腾创秒会达视频会议系统软件 安卓