python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有

相信许多人都看到过下面这样的词云图,词云图是一种很好的可视化工具,其作用主要是为了文本数据的视觉表示,既酷炫又能突出重点。

python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第1张图片

关于词云图的制作,网上能够搜集到很多的教程,许多都是利用了专用的工具,这些工具便捷又强大,但是它们普遍存在一个问题:功能太过专一,且适用范围有限。

今天我们要尝试的,是使用通用的编程语言python来制作词云

python这门编程语言非常地简单易用,即使看起来很复杂的设置,python用一个库和几条代码就能搞定了~

第一步:下载并安装Anaconda

进入Anaconda官网,选择适合你电脑的版本,推荐下载使用python3.6版本,因为在最新的版本当中,许多python之前的语言缺陷都得到了解决。

python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第2张图片

下载完成后,跟一般的软件一样安装即可。安装好后在cmd中打开jupyter book,并新建一个目录。

cd23d63b1215c2afc54829b5386c704d.png
python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第3张图片

第二步:分析文本生成词云

词云分析的对象,是文本。理论上讲,文本可以是各种语言的。英文、中文、法文、阿拉伯文……

最近大家都在追权力的游戏,我就在wiki上面搜索权力的游戏并将一些文本复制粘贴,存入wordcloud的文本里。

6d991b92cd050a1f44fd32d24ef1d3ab.png

wordcloud把词云当作一个对象,它可以将文本中词语出现的频率作为一个参数绘制词云,而词云的大小、颜色、形状等都是可以设定的。

生成一个漂亮的词云文件三步就可以完成。即:

1、配置对象参数

2、加载词云文本

3、输出词云文件 (如果不加说明默认的图片大小为400 * 200)

首先安装这个库:

pip install wordcloud

简单了解一下wordcloud库的一些方法:

python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第4张图片

打开jupyter,进行词云的绘制。

#读取词云文本filename = "Game of Thrones.txt"with open(filename) as f:mytext = f.read()mytext
python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第5张图片

然后导入词云库,利用 mytext 中存储的文本内容来制造词云。

from wordcloud import WordCloudwordcloud = WordCloud().generate(mytext)

这两句代码运行没有任何的反应,但是此时词云分析已经完成了。制作词云的核心步骤只需要这2行语句,而且第一条还只是从扩展包里找外援。但是程序并不会给我们显示任何东西。

接下来我们需要python的一个强大库,matplotlib,执行下面的代码,词云图就出来了。

%pylab inlineimport matplotlib.pyplot as pltplt.imshow(wordcloud, interpolation='bilinear')plt.axis("off")
python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第6张图片

丹尼真的是妥妥的大女主啊,临冬城的出现比例也很大。

完整代码如下:

filename = "Game of Thrones.txt"with open(filename) as f: mytext = f.read()from wordcloud import WordCloudwordcloud = WordCloud().generate(mytext)%pylab inlineimport matplotlib.pyplot as pltplt.imshow(wordcloud, interpolation='bilinear')plt.axis("off")

以上就是利用wordcloud制作词云的方法,仅仅用了十行代码就实现了哟~

第三步,自定义图片词云

上面的示例用的是英文文档,默认输出的词云图是长方形的,接下来我们要使用中文文档,然后实现输出有形状的图片。

这时仅仅使用wordcloud库没有办法实现我们的需求,我们还需要使用jieba和scipy两个库。

在生成词云的时候,Wordcloud默认是按照空格或者标点作为分割符来对目标文本进行分词处理。

若是英文文本可直接调用,若是中文文本,则需要先对文本进行分词处理然后用空格拼接,再调用wordcloud库函数。

jieba是实现中文分词的组件,它能够将句子精确的切开,适合做文本分析,还支持繁体分词、自定义词典等,关于jieba库的细则可以查看文档:https://pypi.org/project/jieba/

想要生成各种形状的图片,scipy库是必不可少的图片处理工具。

本次数据文档选用权力的游戏第八季百度百科分集剧情的前4集内容,将内容存储到一个txt文档中。

78cfe6a76b920b2bd419b2b7a73a08c3.png

既然需要生成自定义的词云图片,那么还需要准备一张图片备用,建议使用纯色背景的图片,将图片存储后备用。

386d889ad4ab61fc5de5a29ecb791109.png

执行下面的代码即可生成图片型的词云图:

#导入wordcloud模块和matplotlib模块from wordcloud import WordCloud,ImageColorGeneratorimport matplotlib.pyplot as pltfrom scipy.misc import imreadimport jieba#读取一个txt文件text = open(r'C:甥敳獲...权力的游戏.txt','r').read()#读入背景图片bg_pic = imread(r'C:甥敳獲...1.jfif')wordlist_after_jieba = jieba.cut(text, cut_all = True)wl_space_split = " ".join(wordlist_after_jieba)#生成词云font = r'C:WindowsFontssimfang.ttf'wc = WordCloud(mask=bg_pic,background_color='white',font_path=font, scale=1.5).generate(wl_space_split)image_colors = ImageColorGenerator(bg_pic)#显示词云图片plt.imshow(wc)plt.axis('off')plt.show()
python wordcloud安装_利用python制作词云,wordcloud神器你值得拥有_第7张图片

利用python制作词云非常简单,赶快动手操作起来吧!

想要获取更多数据科学方面知识,欢迎关注我们的公众号“DC学习助手”(公众号后台回复关键字“1”即可领取数据科学资料包一份哟~

你可能感兴趣的:(python,wordcloud安装,python,wordcloud安装失败,python,wordcloud安装方法,python,下载wordcloud,python,中文文本里的词的重复数)