一、课堂导入
上节课我们学习了制作神奇的验证码,各位同学完成的都很棒,本节课我们将继续深入探究数据处理中的一些操作。
在日常的工作、生活中,有时候需要将一些数据更加直观的展示,例如,分析出一篇新闻文章中出现次数最多的词,我们可以采用词云图来显示。
二、词云图
1.什么是词云图
# 词云又叫文字云, # 是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现, # 形成关键词的渲染形成类似云一样的彩色图片, # 从而一眼就可以领略文本数据的主要表达意思。
2.制作词云图
2.1 制作英文词云图
1.准备要处理的数据
将内容放至指定文件中
2.导入需要用到的库
# wordcloud的实现原理: # 1.文本预处理 # 2.词频统计 # 3.将高频词以图片形式进行彩色渲染 # 注意:Python用wordcloud 这个库构建词云图
3.将数据处理成词云
import wordcloud from wordcloud import WordCloud # 打开文章 a=open(r"C:\Users\admin\Desktop\Tx\youth.txt","r").readlines() b=str(a) # 处理数据 en=WordCloud(font_path="simhei.ttf", # 中文必须要添加这个,否则会显示成框框 background_color="white", width=1200, height=800, ).generate(b) # 向wordcloud库中对象en加载文本 en.to_file(r"C:\Users\admin\Desktop\Tx\youth1.png")
2.2 制作中文词云图
在之前的基础上使用用jieba 库将文字切分成单个的词,因为在英文中每个词中间有空格无需分割。
1.join的用法
# join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
str1 = "-"; seq = ("a", "b", "c") print (str1.join( seq ))
2.jieba分词有三个模式
import jieba t = "明明知识点都熟记于心,可是在考试的时候脑\ 子一片空白,什么都想不起来了" list1 = jieba.cut(t) list2 = jieba.cut(t , cut_all= True) list3 = jieba.cut_for_search(t) print("精准模式:"+'/'.join(list1)) print("全模式:"+'/'.join(list2)) print("搜索引擎模式:"+'/'.join(list3))
3.中文词云图
import wordcloud from wordcloud import WordCloud import jieba # 1.读出数据 text=open("C:\\Users\\admin\\Desktop\\Tx\\youth_chinese.txt","r").readlines() new_text=str(text) # 2.进行中文分词 cut_text=jieba.cut(new_text) # print(cut_text) # 3.必须给个符号分隔开分词结果 result="/".join(cut_text) # 生成词云图 wc=WordCloud( font_path="simhei.ttf", # 字体路径 background_color="white", # 背景颜色 width=600, # 设置图片的宽、长 height=600, margin=10, # 设置图片的边缘 max_font_size=30, # 设置字体大小 min_font_size=5, max_words=1000 ).generate(result) # 保存图片 wc.to_file("C:\\Users\\admin\\Desktop\\Tx\\Chinese.png")
三、总结
# 词云又叫文字云, # 是对文本数据中出现频率较高的“关键词”在视觉上的突出呈现, # 形成关键词的渲染形成类似云一样的彩色图片, # 从而一眼就可以领略文本数据的主要表达意思