|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x

$ m+ u6 W/ {4 f8 G# }0 x2 u4 g! Q hello!大家好,今天张老师来讲解词云的具体应用实例,
% J% p, W! Y+ ~4 {- T: A 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
0 ]; D! n2 i1 M! m8 ^1 k3 z' w2 f 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
" [# m5 K5 }* g1 g$ p 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
9 v$ y+ ^( \3 n3 ]- jieba 库 ------------【学习直通车】(高中必修)
) E4 f- Y5 R( ]. m- p
- wordcloud 库 ----【学习直通车】(高中选修)8 J7 s; Z6 a, p \7 _
# c! l* x9 k. L9 P4 Z0 s4 I
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,; `# W; Q( f# W$ x! p- U
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt), p; ?3 u; Y4 K' s. n2 x
; b/ }6 m; p& g7 ?$ [4 ?, O P
' Z8 D# ]+ a- C X( J" f! l8 R8 Z
图1: 未进行优化处理 - 原版效果图 ↑↑↑
9 l4 f+ c/ Q; b, l5 v0 | V
. h4 ^5 l- {% o- q. @* l很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
, X- I! W$ E2 M- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
$ C1 L5 s1 p9 I- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 ( u) O# Z0 Q2 X O9 S+ ~
以上操作就是过滤关键词;+ {6 }6 j; a; n" z0 t
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等0 O8 i* F; `$ b' }
- jieba.add_word("仑中"): X q! V/ `8 B6 w
- jieba.add_word("蓝桥杯")
7 {* N7 B0 f Y - jieba.add_word("第三方库")
复制代码
6 q1 A. }; _* N; f2 {
, R5 {3 X* X, @6 D
图2: 已进行优化处理 - 效果图 ↑↑↑
0 s+ P- F. v8 E, k/ Y/ a4 V$ U: P1 Z' A. w
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
, s" ~% o9 z4 V A+ u: j0 A2 ^这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
! t" s) V2 F7 _/ `7 b, N
" e \ z$ j6 z( C2 ]( w图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
" I) k) z; @) F, c' X0 G8 ^* B% N% u8 `/ v: E/ s
核心代码片段如下 ↓↓↓4 ^$ j, l3 ]- {# k$ k% f; ^/ F
- import jieba* B, Q) A! y4 B" e x( N2 b
- import wordcloud9 U+ A$ j$ O; c r
- , S6 ]# t2 n9 k
- # 引入数据文本文件9 A0 C$ f3 d" C; Z+ m8 M$ ]$ k- ~7 G
- text = open('text.txt','r',encoding='UTF-8').read(), Q: r% m7 _1 P1 `! ?; b9 ~
/ w& o3 A" t. V: r) |5 G. [( P- # 设置词云图片大小、字体及背景色(背景色默认黑色): ^( _# G7 S: s/ [0 t. E
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black"); P0 u; H8 [& q; [6 ^4 \
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板1 x. o" M* o- T4 P7 \' X/ _# M
# c- s% t3 f- u( `% ~- w.generate(" ".join(jieba.lcut(text)))
& U: X7 k3 v4 O: c P - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
8 Y# g/ c- h& T' C9 e
# x, G7 i9 U+ n) s& _7 u6 O% n' K- # 新增关键字词汇
' X- @- ?7 Q2 C: U2 | D+ M% R - jieba.add_word("蓝桥杯")$ ]; p+ X/ h& V g
- jieba.add_word('仑中')+ D% R! B9 e; `& n# p3 `
- jieba.add_word('新高考')7 _9 D- [0 A/ H5 ? o) k6 Q
- jieba.add_word('零基础'). ~/ {# u; E d
- jieba.add_word('第三方库')
! f1 L# i/ W0 Z - ( i) u+ [: X5 ?$ e! e
- # 过滤干扰词汇5 q1 u+ ~4 v4 `) A1 B
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']: D1 v/ D: e) y3 c2 v0 J
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
. p. R3 V {6 s$ W1 g - ; w! G6 E* J3 k( }
- # 输出图文
2 S( t& e- G+ j) i' J( p - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|