【Python学习笔记】词频统计

前往:我自己搭建的博客

所用版本:Python 3.6,jieba 0.42.1,nltk 3.2.4,wordcloud 1.8.1

NLTK统计

将分词后的结果放入list,调用nltk.FreqDist()进行频数统计。支持用下标查询某个词语的频数。用most_common(k)函数可以将频数排名前k的词语存入一个list,list中的元素类型为tuple。

生成词云

先生成存放着频数的字典,然后调用wordcloud.WordCloud().fit_words()生成词云。

import jieba.analyse
import nltk
import wordcloud
import matplotlib.pyplot as plt
s="我所研究的东西,尺度要么在十的负三十次方厘米以下,要么在一百亿光年以上,在这两个尺度上,地球和人类都微不足道。——丁仪"
words=jieba.analyse.extract_tags(s) #提取非停用词
cut=jieba.lcut(s) #分词结果
cnt=nltk.FreqDist(cut) #频数统计
print(cnt['我']) #查询频数
cnt=cnt.most_common(1000) #频数列表
cnt=[x for x in cnt if x[0] in words] #非停用词频数列表
cnt=dict(cnt) #将列表转化为字典
font="C:\Windows\Fonts\simsun.ttc"
w=wordcloud.WordCloud(font_path=font, #设置字体
    width=1200,height=800, #设置图片的宽高(默认200)
    max_words=50, #最多绘制的词条数(默认200)
    min_font_size=4, #最小字体大小(默认为4)
    max_font_size=None, #最大字体大小(默认为None,表示图像的高度)
    prefer_horizontal=0.9, #水平显示的比例(默认为0.9)(程序会尝试达到这个比例,但不一定能) 
    background_color=None, #背景颜色(默认黑色)
    mode="RGBA", #模式(默认为RGB),当mode=“RGBA”,background_color为None时,将生成透明背景
    stopwords=None, #可以指定停用词表,默认的停用词表只支持英文
    ).fit_words(cnt)
plt.imshow(w)
plt.axis("off") #不显示坐标轴
plt.show()
w.to_file("词云.png") #保存词云图片
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值