ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python安娜卡列妮娜词云图制作

2021-05-12 15:02:02  阅读:202  来源: 互联网

标签:plt words python DataFrame wordcloud 词云 卡列 妮娜 segment


原文链接:http://tecdat.cn/?p=6852

知识点普及

 

词频:某个词在该文档中出现的次数停用词:数据处理时过滤掉某些字或词,如:网站、的等语料库:也就是我们要分析的所有文档的集合中文分词:将汉字序列分成一个个单独的词

使用第三方库介绍

jieba jieba.cut(content) content 为分词的句子pandas pandas.DataFrame()生成DataFrame对象 pandas.DataFrame.groupby()分组统计 分组统计实例 pandas.DataFrame.groupby(by=列名数组)[统计列名数组].agg({ 统计项名称:统计函数})wordcloudpython构建词云的库文件 安装方式请自行案例

词云实现

#!/usr/bin/env python
# coding=utf-8import osimport jiebaimport codecsimport pandas as pdimport numpy as npfrom wordcloud import WordCloud,ImageColorGeneratorimport matplotlib.pyplot as plt
#导入所用库文件basefile = data存储路径
# 语料库加载
f_in = codecs.open(basefile+'an.txt','r','utf-8') content = f_in.read()
#分词,生成segments列表segments = []
segs = jieba.cut(content)for seg in segs: if len(seg)>1: segments.append(seg)
#生成DataFrame对象segmentDF = pd.DataFrame({'segment':segments})
#分组统计segStat = segmentDF.groupby( by = ['segment'] )['segment'].agg({ '计数':np.size}).reset_index().sort_values(by = ['计数'], ascending = False )
#加载停用词 stopwords = pd.read_csv( "./StopwordsCN.txt", encoding='utf8', index_col=False)
#移除停用词,并做去反操作fSegStat = segStat[ ~segStat.segment.isin(stopwords.stopword)]
#构建词云文件wordcloud = WordCloud( font_path='./simhei.ttf',
 #词云展示字体 background_color="black",
#词云展示背景颜色
)
words = fSegStat.set_index('segment').to_dict()wordcloud.fit_words(words['计数'])plt.imshow(wordcloud)plt.show()

 

效果展示

 

 

AnnaKarenina

词云美化

from scipy.misc import imread
#读取图片背景
bimg = imread(basefile+'An.png')
wordcloud = WordCloud( background_color="white", mask=bimg, font_path='./simhei.ttf')wordcloud = wordcloud.fit_words(words['计数'])
#设置图片大小
plt.figure( num=None, figsize=(8, 6), dpi=80, facecolor='w', edgecolor='k')
#获取图片颜色
bimgColors = ImageColorGenerator(bimg)plt.axis("off")
#重置词云颜色
plt.imshow(wordcloud.recolor(color_func=bimgColors))plt.show()

▍需要帮助?联系我们

 

标签:plt,words,python,DataFrame,wordcloud,词云,卡列,妮娜,segment
来源: https://blog.51cto.com/u_15198753/2770860

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有