python之词云学习及词云的实现

wordcloud库是第三方库,需要安装,在命令行中敲下pip install wordcloud来安装。安装经常遇见的问题是缺少相应的whl文件,以后再说,百度也能搜到。
wordcloud库基本使用
wordcloud库吧词云当做一个WordCloud对象。可以根据文本中词语出现的频率等参数会致辞云,绘制词云的形状,尺寸和颜色都可以设定。
wordcloud库以空格分割单词,在文本中统计每个单词出现的次数,次数多的显示的大,他会将很短的单词去掉,有默认的字体和颜色。
步骤:配置参数,加载文本,输出文件
wordcloud库的常规方法:
generate(txt) 向WordCloud对象加载文本(由空格分隔的字符串类型)
to_file(filename) 将词云输处为图像文件,png,jpg格式
配置对象参数
width 指定图片的宽度,默认400像素
height 指定图片的高度,默认200像素
min_font_size 指定词云中字体的最小字号
max_font_size 指定词云中字体的最大字号
font_step 指定词云中字体字号的步进间隔
font_path 指定字体文件的路径,例:微软雅黑是‘msyh.ttc’
max_words 指定词云显示的最大单词数量,默认200
stop_words 指定词云的排除单词列表,即不显示的单词列表
mask 指定词云形状,默认是矩形,需要引用imread()函数读取一个图片的形状,然后把它付给mask

from scipy.misc import imread
mk=imread('pic.png')
w=wordcloud.WordCloud(mask=mk)

background_color 指定词云图片的背景颜色,默认是黑色

实例

首先,jieba是一个中文分词库,他会对中文文本自动分词。也是一个第三方库,需要安装,即pip install jieba
参考代码:

import jieba
import wordcloud
w=wordcloud.WordCloud(width=1000,height=800,font_path='msyh.ttc',max_words=50)
ls=[]
path='D:\\Python\\python学习代码\\词云.txt'
f=open(path,'r',encoding='utf-8')
ls=f.read().replace(',','').split()
txt=''.join(ls)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file('wordcloud.png')

生成的词云图片如下
在这里插入图片描述

修改词云的形状,新找的图片一定要是背景为白色的(?)

在这里插入图片描述

图片展示:
在这里插入图片描述

参考代码:

import jieba
import wordcloud
from imageio import imread
mk=imread('汽车.png')
w=wordcloud.WordCloud(width=1000,height=800,mask=mk,\
                      font_path='msyh.ttc',max_words=50,background_color='white')
ls=[]
path='D:\\Python\\python学习代码\\词云.txt'
f=open(path,'r',encoding='utf-8')
ls=f.read().replace(',','').split()
txt=''.join(ls)
w.generate(' '.join(jieba.lcut(txt)))
w.to_file('wordcloud.png')

imageio第三方库,同理在命令行中pip install imageio。(采用嵩天老师讲的scipy.misc时候遇到了问题,搜索一下结果是scipy版本的问题,版本是1.2.0。把 from scipy.misc import imread 换成 from imageio import imread 就好了,所以安装了一下imageio库)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值