词云的安装制作及数据清洗代码
“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于近日提出。戈登做过编辑、记者,曾担任迈阿密先驱报(Miami Herald)新媒体版的主任。他一直很关注网络内容发布的最新形式——即那些只有互联网可以采用而报纸、广播、电视等其它媒体都望尘莫及的传播方式。通常,这些最新的、最适合网络的传播方式,也是最好的传播方式。 因此,“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。
词云安装:
pip install wordcloud
数据清洗:
数据清洗可以去除掉数据中的噪声,纠正不一致,以达到格式标准化、异常数据清除、错误纠正和重复数据消除的目的。主要解决的问题有空缺值、错误数据、孤立点、噪声。其中空缺值和错误数据是数据清洗的重点。
步骤:
1,读取停用词表:
stopwords=[]
with open("stopwords.text","r",encoding="utf-8") as f_stopwords;
for word in f_stopwords: (f方式读取)
stopwords.append(word.replace("\n",""))
2,文本清洗:
f_write_file=open("data_processed.txt","w",encoding="utf-8")
word_list=[] (生成最后的词典)
with open("data.txt","r",encoding="utf-8") as f_data:
for line in f_data: (一行一行读取)
words=jieba.cut(line.replace('\t','').replace('\n','').replace(' ','')) (replace使得换行和空格为空)(用jieba.cut切割)
for word in words:
if word not in stopwords and len(word)>1:
word_list.append(word)
f_write_file.write(' '.join(word_list)) (把生成的词输出,空格使得每个词分开) (一行)
f_write_file.flush() (把所有词写入)
f_write_file.close() (关闭)
词云制作:
from wordcloud import wordCloud
word_text=""
with open("data_processed.txt","r"(只读),encoding="utf-8") as f_data #读取
word_text=f_data.read()
wc=WordCloud(
backgroud_color="white", #背景颜色
max words = 200, #最大词数
font_path="加载的字体路径"
min_font_size=15,
max_fort_size=50,
width=800,
height=600
)
wc.generate(work_text) #文本来生成
wc.to_file("wordcloud.png") #写出(生成词云)
#添加matplotlib库直接在oycharm中显示
from matplotlib import pyplot as plot
from PIL import Image
import numpy as np
cloud_mask=np.array(Image.open("图片路径"))
img=Image.open("wordcloud.png")
mask=cloud_mask
plt.figure("词云制作")
plt.imshow(img) (设置图片(词云形状))
plt.axis("on")
plt.title("wordcloud")
plt.show()
'''***笔者的话:简单介绍了一下词云以及里面的部分代码实现。数据清洗也是词云分析中的一个重点内容。应该深入去学习、理解。FIGHTING...(热烈欢迎大家批评指正,互相讨论)
(you cannot find peace by avoiding life.)***'''