python分词统计词频_使用Python快速统计关键词及其词频

步骤:

1.通过jieba库分词获取所有的词语列表;

2.计算列表里出现词语及其对应的频次,存储为字典;

3.删除字典中键为无关且频次高的词语的键值对;

4.对字典里的词语按照频次进行排序;

5.输出频次前五的词语及其频次;如果没有安装 jieba 库,需要使用 cmd 进入命令提示符窗口,通过 pip install jieba 进行安装。

源代码如下:

import jieba

file = open("sample.txt", "r", encoding='utf-8') #此处需打开txt格式且编码为UTF-8的文本

txt = file.read()

words = jieba.lcut(txt) # 使用jieba进行分词,将文本分成词语列表

count = {}

for word in words: # 使用 for 循环遍历每个词语并统计个数

if len(word) < 2: # 排除单个字的干扰,使得输出结果为词语

continue

else:

count[word] = count.get(word, 0) + 1 #如果字典里键为 word 的值存在,则返回键的值并加一,如果不存在键word,则返回0再加上1

exclude = ["可以", "一起", "这样"] # 建立无关词语列表

for key in list(count.keys()): # 遍历字典的所有键,即所有word

if key in exclude:

del count[key] # 删除字典中键为无关词语的键值对

list = list(count.items()) # 将字典的所有键值对转化为列表

list.sort(key=lambda x: x[1], reverse=True) # 对列表按照词频从大到小的顺序排序

for i in range(5): # 此处统计排名前五的单词,所以range(5)

word, number = list[i]

print("关键字:{:-<10}频次:{:+>8}".format(word, number))

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值