马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
" S& h% k; F8 K% [% A; J
hello!大家好,今天张老师来讲解词云的具体应用实例,
# }& u( A3 A7 `' Q g 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。 f+ ~+ E7 @7 D# C# D
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
% X- X8 g. w# b( a5 q, L2 `- D) E/ \ 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。 b! u* L" t/ @6 D- h, B& ~8 i
- jieba 库 ------------【学习直通车】(高中必修)7 c& y- S9 h' E! _
- wordcloud 库 ----【学习直通车】(高中选修)
* Y1 U; W7 ^9 u* o
; C3 ^2 ]5 L- U2 Z0 j- \下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
: e, N- h5 |/ l, k2 Z首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
" J9 J) _% l% C* {1 y l7 o: e* h+ I Q
- [9 t! h7 n( u3 q) z, U
图1: 未进行优化处理 - 原版效果图 ↑↑↑4 b; V1 t% ?0 y2 \( g
; i. k+ k* E; n) I5 S2 C5 {很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
" [, s+ Z4 U# M# @- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
! g5 {! Q/ l( |" m4 f- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 + H$ u+ ~% {! g2 V
以上操作就是过滤关键词;
2 N' t# ]' l0 q; ~4 N# A6 N反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
0 d* y: r# P% t- jieba.add_word("仑中")
! h- \! A& _+ j5 z; J+ q4 i) A - jieba.add_word("蓝桥杯")
! l( [* t; r( @9 C# P - jieba.add_word("第三方库")
复制代码 % x. D& E3 \3 t" k
2 @7 a! k" ?" B5 Y图2: 已进行优化处理 - 效果图 ↑↑↑2 w! X& N1 q0 q1 A
+ Y) N) ]' u. G& m. l# n0 H
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
# h/ |) b# u# G5 t5 l1 ]这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! , s+ }, j! `1 p4 ^$ W: A, [
# }6 Z) C0 ^' {
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
' v! c( R- m! U) T0 I( X* G5 B
1 h. _- H. \ t核心代码片段如下 ↓↓↓/ G! S$ Q1 I- d
- import jieba
- v& { `2 l+ H - import wordcloud8 x% i( o% o5 K" x9 E7 q
- 7 ]- N9 b/ t T* F0 I( o
- # 引入数据文本文件
# n% J+ |+ i3 e6 h) p2 y& u3 ?& [ - text = open('text.txt','r',encoding='UTF-8').read()- O# I8 b' z% g5 n2 ^
- ' S, W1 `/ m$ ^# s% E1 V2 `
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
) B$ m I' X8 S- A- X! ~9 o - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
8 F! n' s4 d8 v& M# p6 _0 d - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板0 [! L6 L$ }- o$ T. `) i4 {
3 M1 W( r; m3 H- w.generate(" ".join(jieba.lcut(text)))
, l* \8 q% F6 e( P- V - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签& E6 K( W% z ^0 w
- # r% S+ B. B" M* W
- # 新增关键字词汇# R R, e+ A. @: k% T$ r
- jieba.add_word("蓝桥杯")- M9 n P: I c4 m
- jieba.add_word('仑中')
" d' m9 `2 O/ o* x5 L/ R - jieba.add_word('新高考')
+ H3 ~5 w: I# [0 }0 h! w - jieba.add_word('零基础')" T* O4 v2 l+ K' J d5 w
- jieba.add_word('第三方库')
" ~! R1 B1 y Y0 w" X/ F7 v - 9 J* P' z# C- B6 X; s: b
- # 过滤干扰词汇
9 J1 D9 b$ h! R# [" m" c! S' G - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']5 p1 H/ i) f# I5 j' k) `& o' [- ~
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
/ s8 ]- j$ Y/ |( b) a
& `7 x# D4 M9 N* d- # 输出图文
. v6 ~; M2 ]0 p B" X$ x) G+ v+ ~2 C - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|