Python统计词频的几种方法小结
目录
- 方法一:运用集合去重方法
- 方法二:运用字典统计
- 方法三:使用计数器
本文介绍python统计词频的几种方法,供大家参考
方法一:运用集合去重方法
def word_count1(words,n): word_list = [] for word in set(words): num = words.counts(word) word_list.append([word,num]) word_list.sort(key=lambda x:x[1], reverse=True) for i in range(n): word, count = word_list[i] print('{0:<15}{1:>5}'.format(word, count))
说明:运用集合对文本字符串列表去重,这样统计词汇不会重复,运用列表的counts方法统计频数,将每个词汇和其出现的次数打包成一个列表加入到word_list中,运用列表的sort方法排序,大功告成。
方法二:运用字典统计
def word_count2(words,n): counts = {} for word in words: if len(word) == 1: continue else: counts[word] = counts.get(word, 0) + 1 items = list(counts.items()) items.sort(key=lambda x:x[1], reverse=True) for i in range(n): word, count = items[i] print("{0:<15}{1:>5}".format(word, count))
方法三:使用计数器
def word_count3(words,n): from collections import Counter counts = Counter(words) for ch in "": # 删除一些不需要统计的元素 del counts[ch] for word, count in counts.most_common(n): # 已经按数量大小排好了 print("{0:<15}{1:>5}".format(word, count))
到此这篇关于Python统计词频的几种方法小结的文章就介绍到这了,更多相关Python统计词频内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
Python统计词频并绘制图片(附完整代码)
效果 1 实现代码 读取txt文件: def readText(text_file_path): with open(text_file_path, encoding='gbk') as f: # content = f.read() return content 得到文章的词频: def getRecommondArticleKeyword(text_content, key_word_need_num = 10, custom_words = [], stop_words =[], quer
-
Python可视化单词统计词频统计中文分词的实现步骤
目录 可视化单词统计词频统计中文分词 项目架构 新建文件 单词计数 全文单词索引 中文分词统计词频 源代码 可视化单词统计词频统计中文分词 项目架构 新建一个文件,输入文件的内容,查询此文件中关键字的出现的次数,关键字出现的位置,将所有的文本按照中文分词的词库进行切割划分,返回JSON字符串,返回中文切分的单词和出现的频次,最后关闭程序 新建文件 新建指定文本文件,输入一个文件名,以及里面的文件内容建立一个文本文件.通过GUI的Entry控件实现一个文本框text1,作用是用来接收用户输入的文件
-
详解Python用三种方式统计词频的方法
三种方法: ①直接使用dict ②使用defaultdict ③使用Counter ps:`int()`函数默认返回0 ①dict text = "I'm a hand some boy!" frequency = {} for word in text.split(): if word not in frequency: frequency[word] = 1 else: frequency[word] += 1 ②defaultdict import collections f
-
python jieba分词并统计词频后输出结果到Excel和txt文档方法
前两天,班上同学写论文,需要将很多篇论文题目按照中文的习惯分词并统计每个词出现的频率. 让我帮她实现这个功能,我在网上查了之后发现jieba这个库还挺不错的. 运行环境: 安装python2.7.13:https://www.python.org/downloads/release/python-2713/ 安装jieba:pip install jieba 安装xlwt:pip install xlwt 具体代码如下: #!/usr/bin/python # -*- coding:utf-8
-
python写程序统计词频的方法
在李笑来所著<时间当作朋友>中有这么一段: 可问题在于,当年我在少年宫学习计算机程序语言的时候,怎么可能想象得到,在20多年后的某一天,我需要先用软件调取语料库中的数据,然后用统计方法为每个单词标注词频,再写一个批处理程序从相应的字典里复制出多达20MB的内容,重新整理-- 在新书<自学是门手艺>中,他再次提及: 又过了好几年,我去新东方教书.2003 年,在写词汇书的过程中,需要统计词频,C++ 倒是用不上,用之前学过它的经验,学了一点 Python,写程序统计词频 --<
-
Python 矩阵转置的几种方法小结
我就废话不多说了,直接上代码吧! #Python的matrix转置 matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] def printmatrix(m): for ele in m: for i in ele: print("%2d" %i,end = " ") print() #1.利用元祖的特性进行转置 def transformMatrix(m): #此处巧妙的先按照传递的元祖m的列数,生成了r的行数 r = [[] f
-
python求绝对值的三种方法小结
如下所示: 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs abs() 与fabs()的区别 abs()是一个内置函数,而fabs()在math模块中定义的. fabs()函数只适用于float和integer类型,而abs()也适用于复数. abs()返回是float和int类型,math.fabs()返回是float类型 以上这篇python求绝对值的三种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
python 字典访问的三种方法小结
定义字典 dic = {'a':"hello",'b':"how",'c':"you"} 方法一: for key in dic: print key,dic[key] print key + str(dic[key]) 结果: a hello ahello c you cyou b how bhow 细节: print key,dic[key],后面有个逗号,自动生成一个空格 print key + str(dic[key]),连接两个字符串,
-
Python中处理时间的几种方法小结
从一个字符串开始 在CODE上查看代码片派生到我的代码片 >>>time_str='2008-08-08 08:08:08' 1.1.转换为struct_time形式的时间 在CODE上查看代码片派生到我的代码片 >>struct = ime.strptime(time_str,'%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2008, tm_mon=8, tm_mday=8, tm_hour=8, tm_min=8, tm_
-
Python 循环终止语句的三种方法小结
在Python循环终止语句有三种: 1.break break用于退出本层循环 示例如下: while True: print "123" break print "456" 2.continue continue为退出本次循环,继续下次循环 示例如下: while True: print "123" continue print "456" 3.自定义标记 Tag 自已定义一个标记为True或False 示例代码: Tag
-
Python实现平行坐标图的两种方法小结
平行坐标图,一种数据可视化的方式.以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以不同颜色区分类别. 但是很可惜,才疏学浅,没办法在Python里实现不同颜色来区分不同的类别.如果对此比较在意的大神可以不要往下看了......... 上图是一个基于iris数据集所画的一个平行坐标图. 隔开隔开.......................................隔开隔开 不多扯了,下面正式上代码 方法一.基于pyecharts第三
-
Python 获取windows桌面路径的5种方法小结
这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑. 前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使用第一个,因为不需要安装额外的扩展,其他的可以了解下 1.用内置的winreg(推荐) import _winreg def get_desktop(): key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r'Software\Microsoft\Win
-
python训练数据时打乱训练数据与标签的两种方法小结
如下所示: <code class="language-python">import numpy as np data = np.array([[1,1],[2,2],[3,3],[4,4],[5,5]]) y = np.array([1,2,3,4,5]) print '-------第1种方法:通过打乱索引从而打乱数据,好处是1:数据量很大时能够节约内存,2每次都不一样----------' data = np.array([[1,1],[2,2],[3,3],[4,4
-
Python实现矩阵相乘的三种方法小结
问题描述 分别实现矩阵相乘的3种算法,比较三种算法在矩阵大小分别为22∗2222∗22, 23∗2323∗23, 24∗2424∗24, 25∗2525∗25, 26∗2626∗26, 27∗2727∗27, 28∗2828∗28, 29∗2929∗29时的运行时间与MATLAB自带的矩阵相乘的运行时间,绘制时间对比图. 解题方法 本文采用了以下方法进行求值:矩阵计算法.定义法.分治法和Strassen方法.这里我们使用Matlab以及Python对这个问题进行处理,比较两种语言在一样的条件下,
-
python 字典中取值的两种方法小结
如下所示: a={'name':'tony','sex':'male'} 获得name的值的方式有两种 print a['name'],type(a['name']) print a.get('name'),type(a.get('name')) 发现这两个结果完全一致,并没有任何的差异. 怎么选择这两个不同的字典取值方式呢? 如果字典已知,我们可以任选一个,而当我们不确定字典中是否存在某个键时,我之前的做法如下 if 'age' in a.keys(): print a['age'] 因为不先
随机推荐
- React.js入门学习第一篇
- Apache 虚拟目录和默认首页的设置
- jquery mobile changepage的三种传参方法介绍
- 深入理解JavaScript系列(3) 全面解析Module模式
- 使用Ajax生成的Excel文件并下载的实例
- php 传值赋值与引用赋值的区别
- php在字符串中查找另一个字符串
- MySQL触发器 Update触发Insert失败
- PHP过滤★等特殊符号的正则
- 分享两个手机访问pc网站自动跳转手机端网站代码
- 迪菲-赫尔曼密钥交换(Diffie–Hellman)算法原理和PHP实现版
- JS定时器使用,定时定点,固定时刻,循环执行详解
- Ruby中百分号和字面值的使用示例
- 利用VBS发送邮件 挑选速度快的肉鸡做VPN 的vbs代码第1/2页
- VBS中InputBox函数的返回值使用技巧
- 细品javascript 寻址,闭包,对象模型和相关问题
- 关于AES加密算法在linux下解密失败的解决办法
- Java线程的生命周期和状态控制_动力节点Java学院整理
- PHP的反射机制实例详解
- Android反编译代码和防止反编译