首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python怎样进行词频统计

Python怎样进行词频统计

作者头像
楚客追梦
发布于 2022-11-11 20:02:02
发布于 2022-11-11 20:02:02
1.5K0
举报
文章被收录于专栏:网页杂谈网页杂谈

词频统计就是输入一段句子或者一篇文章,然后统计句子中每个单词出现的次数。那在python中怎样怎样统计词频出现的次数呢? 之前学习过python字典的使用方法:

字典的get()函数

字典的get()函数返回指定键对应的值。 get()函数使用格式

字典名.get(key) //字典中存在键key 返回键对应的值 字典名.get(key, value) //字典中不存在键key 返回设定的值value

py

代码语言:javascript
复制
info = {'苹果':1, '梨':2}
a = info.get('苹果')
print(a)

输出

1

py

代码语言:javascript
复制
info = {'苹果':1, '梨':2}
a = info.get('草莓',3)
print(a)

输出

3

‘草莓’不是字典info中的键,则get()函数返回,第2个参数设定的值,即3。

词频统计

词频

使用字典存储词语: 词频 这一组数据。 遍历存储词语的列表,如果词语在字典中,就在之前出现的次数上增加1。否则,就把词语添加到字典中。

py

代码语言:javascript
复制
counts = {}
for w in words:
    if w in counts:                      //如果w在字典counts中
        counts[w] = counts[w] + 1        //在之前的次数加1
    else:
        counts[w] = 1                    //把词语添加到字典中,并计数1次
print(counts)

words是存储被统计的词语列表。 counts是用于存储统计结果的字典,键是词语,值是词频。

词频统计的简化

使用字典的get()函数,当w键不存在时,返回设定的值0,存在时返回w键对应的值。

py

代码语言:javascript
复制
counts = {}
for w in words:
    c= counts.get(w,0)                //w不在counts中,返回0; 存在,返回w对应的值。
    counts[w] = c + 1                    
print(counts)

字典中的最大值

遍历字典,判断键对应的值和m的大小,如果值比m大,就让m等于当前值,循环结束,m存储的就是字典的最大值了。

py

代码语言:javascript
复制
m = 0
k = 0
for c in counts:
    if counts[c] > m:
        m = counts[c]
        k = c
print(k, counts[k])

求字典的最大值和列表的最大值的思路是一样的,都是循环比较。 不过字典遍历的是键,需要由键访问值再进行比较。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 字典的get()函数
  • 词频统计
    • 词频
    • 词频统计的简化
  • 字典中的最大值
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档