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])

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

那年 • 这天
写于2023-07-21日
没有伞的孩子□□□□,必须学会努力奔跑□□□□□。

赞助 点赞 0 unread messages

暂无评论,抢沙发?

发表回复

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