Python怎样进行词频统计

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

深渊历险记

Python熟练使用字典和了解元组与列表的区别

字典是Python中存储数据的一种方式,Python字典中可以用keys()命令获取一个字典中的所有的键。而元组是存放多个数据的容器,和列表很像。

字典的get()函数

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

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

py

info = {'苹果':1, '梨':2}
a = info.get('苹果')
print(a)

输出

1

py

info = {'苹果':1, '梨':2}
a = info.get('草莓',3)
print(a)

输出

3

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

词频统计

词频

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

py

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

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

m = 0
k = 0
for c in counts:
    if counts[c] > m:
        m = counts[c]
        k = c
print(k, counts[k])

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

那年 • 今日
小王发布于2022-07-25 19:44
没有伞的孩子,必须学会努力奔跑。

赞助 点赞 0

暂无评论,抢沙发?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注