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基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
python复制文件代码实现
Dec 23 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
Python中return语句用法实例分析
Aug 04 Python
Python简单连接MongoDB数据库的方法
Mar 15 Python
Python实现抢购IPhone手机
Feb 07 Python
Django的性能优化实现解析
Jul 30 Python
python set集合使用方法解析
Nov 05 Python
Python如何使用27行代码绘制星星图
Jul 20 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
python 如何获取页面所有a标签下href的值
May 06 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
May 28 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
分享PHP header函数使用教程
2013/09/05 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
window.location 对象所包含的属性
2014/10/10 Javascript
原生JS实现LOADING效果
2015/03/16 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
2018/09/01 Javascript
JS散列表碰撞处理、开链法、HashTable散列示例
2019/02/08 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python函数中定义参数的四种方式
2014/11/30 Python
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
基于Python3 逗号代码 和 字符图网格(详谈)
2017/06/22 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
Mac安装python3的方法步骤
2019/08/09 Python
python 如何快速复制序列
2020/09/07 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
生产内勤岗位职责
2013/12/07 职场文书
初中英语教学反思
2014/01/25 职场文书
护理专业毕业生自荐书
2014/05/24 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
说谎欺骗人检讨书300字
2014/11/18 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang
vue+echarts实现多条折线图
2022/03/21 Vue.js