python利用多种方式来统计词频(单词个数)

作者:Sinte-Beuve 时间:2021-12-23 14:52:32 

python的思维就是让我们用尽可能少的代码来解决问题。对于词频的统计,就代码层面而言,实现的方式也是有很多种的。之所以单独谈到统计词频这个问题,是因为它在统计和数据挖掘方面经常会用到,尤其是处理分类问题上。故在此做个简单的记录。

统计的材料如下:


document = [
 'look', 'into', 'my', 'eyes', 'look', 'into', 'my', 'eyes',
'the', 'eyes', 'the', 'eyes', 'the', 'eyes', 'not', 'around', 'the',
'eyes', "don't", 'look', 'around', 'the', 'eyes', 'look', 'into',
'my', 'eyes', "you're", 'under']

直接使用dict来进行统计(遍历+循环)


word_count = {}
for word in document:
 if word in word_count:
   word_count[word] += 1
else:
   word_count[word] = 1

更优雅的实现方式


#假如字典中不存在给定的键,则返回参数中提供的默认值;反之,则返回字典中保存的值。
for word in document:
 previous_count = word_count.get(word, 0)
 word_count[word] = previous_count + 1
#可以合并成一行
for word in document:
word_count[word] = word_count.setdefault(word, 0) + 1

使用defalutdict来实现


# 使用collections中的defalutdict来实现,defalutdict是一种值可以默认设置的dict
from collections import defaultdict
word_count = defaultdict(int)
for word in document:
 word_count[word] += 1

使用Counter


word_counter = Counter(document)

Counter既然是一个计数器,那么它本身也就具有很多统计的方法。例如,最常见的词频统计的排序,可以获得前n个最高的词频。


# 返回前n个最高词频,以字典的形式
word_counter.most_common(n)

显然,使用defalutdict和Counter代码最简洁,更能符合python开发之道。

来源:https://www.cnblogs.com/Sinte-Beuve/p/6571717.html

标签:python,统计词频
0
投稿

猜你喜欢

  • mysql连接查询详解

    2024-01-15 16:42:11
  • 基于python实现上传文件到OSS代码实例

    2022-12-14 16:45:17
  • 标签明晰、有效

    2010-01-18 12:22:00
  • 利用python实现PSO算法优化二元函数

    2022-06-17 20:53:04
  • 分享13个非常有用的Python代码片段

    2022-02-17 00:00:37
  • Python+django实现简单的文件上传

    2021-08-15 03:11:25
  • python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法

    2021-01-03 05:25:29
  • Python Django2 model 查询介绍(条件、范围、模糊查询)

    2023-11-02 15:32:09
  • 手机网站开发必修课[2009总结版]

    2010-01-05 17:02:00
  • 组件:Adodb.Stream 用法介绍

    2008-10-09 12:39:00
  • 浅谈JavaScript函数节流

    2024-05-03 15:59:31
  • DSDS应用场景(高通5G)

    2022-06-18 05:08:44
  • 概念性产品设计

    2008-06-11 12:57:00
  • Oracle与MySQL删除字段时对索引和约束的处理

    2008-12-26 16:41:00
  • 基于Python的接口自动化读写excel文件的方法

    2023-09-04 00:25:10
  • Python Pygame实现可控制的烟花游戏

    2021-09-08 20:29:02
  • 使用SQLAlchemy操作数据库表过程解析

    2024-01-20 14:42:59
  • MySQL数据库高级数据操作之新增数据

    2024-01-18 17:46:38
  • Python办公自动化之Excel介绍

    2021-04-19 11:06:07
  • python数据类型之间怎么转换技巧分享

    2023-09-04 02:38:42
  • asp之家 网络编程 m.aspxhome.com