Python实现统计英文文章词频的方法分析


Posted in Python onJanuary 28, 2019

本文实例讲述了Python实现统计英文文章词频的方法。分享给大家供大家参考,具体如下:

应用介绍:

统计英文文章词频是很常见的需求,本文利用python实现。

思路分析:

1、把英文文章的每个单词放到列表里,并统计列表长度;
2、遍历列表,对每个单词出现的次数进行统计,并将结果存储在字典中;
3、利用步骤1中获得的列表长度,求出每个单词出现的频率,并将结果存储在频率字典中;
4、以字典键值对的“值”为标准,对字典进行排序,输出结果(也可利用切片输出频率最大或最小的特定几个,因为经过排序sorted()函数处理后,单词及其频率信息已经存储在元组中,所有元组再组成列表。)

代码实现:

fin = open('The_Magic_Skin _Honore_de_Balzac.txt') #the txt is up
#to you
lines=fin.readlines()
fin.close()
'''transform the article into word list
'''
def words_list():
  chardigit='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 '
  all_lines = ''
  for line in lines:
    one_line=''
    for ch in line:
      if ch in chardigit:
        one_line = one_line + ch
    all_lines = all_lines + one_line
  return all_lines.split()
'''calculate the total number of article list
s is the article list
'''
def total_num(s):
  return len(s)
'''calculate the occurrence times of every word
t is the article list
'''
def word_dic(t):
  fre_dic = dict()
  for i in range(len(t)):
    fre_dic[t[i]] = fre_dic.get(t[i],0) + 1
  return fre_dic
'''calculate the occurrence times of every word
w is dictionary of the occurrence times of every word
'''
def word_fre(w):
  for key in w:
    w[key] = w[key] / total
  return w
'''sort the dictionary
v is the frequency of words
'''
def word_sort(v):
  sort_dic = sorted(v.items(), key = lambda e:e[1])
  return sort_dic
'''This is entrance of functions
output is the ten words with the largest frequency
'''
total = total_num(words_list())
print(word_sort(word_fre(word_dic(words_list())))[-10:])
Python 相关文章推荐
用python + openpyxl处理excel2007文档思路以及心得
Jul 14 Python
Python中的面向对象编程详解(上)
Apr 13 Python
在Python中使用sort()方法进行排序的简单教程
May 21 Python
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 Python
selenium+python实现自动化登录的方法
Sep 04 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
python3 enum模块的应用实例详解
Aug 12 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
Python-openCV读RGB通道图实例
Jan 17 Python
python解析xml文件方式(解析、更新、写入)
Mar 05 Python
宝塔面板成功部署Django项目流程(图文)
Jun 22 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 #Python
Python判断变量名是否合法的方法示例
Jan 28 #Python
Python使用while循环花式打印乘法表
Jan 28 #Python
Python实现程序判断季节的代码示例
Jan 28 #Python
Python后台管理员管理前台会员信息的讲解
Jan 28 #Python
Python之列表实现栈的工作功能
Jan 28 #Python
Python中常用的内置方法
Jan 28 #Python
You might like
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP 7.4 新语法之箭头函数实例详解
2019/05/09 PHP
Javascript模块模式分析
2008/05/16 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jquery获取自定义属性(attr和prop)实例介绍
2013/04/21 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
使用webpack搭建vue项目实现脚手架功能
2019/03/15 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
js实现批量删除功能
2020/08/27 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python获取一组汉字拼音首字母的方法
2015/07/01 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
python argparser的具体使用
2019/11/10 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
python Tensor和Array对比分析
2020/01/08 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
Java面试题:请问一下代码输出是什么
2015/05/27 面试题
分家协议书
2014/04/21 职场文书
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers