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

0 p8 j0 X) o( N hello!大家好,今天张老师来讲解词云的具体应用实例,
4 _+ l" r! x* T- a* y+ U6 Q 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。1 _! t7 `5 q( _, U8 J
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , " r3 s0 P: k, {/ ?1 n* F
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
& X& @% ?; R- m6 l- jieba 库 ------------【学习直通车】(高中必修)
8 d5 W2 d/ `' \. S! I* W
- wordcloud 库 ----【学习直通车】(高中选修)7 O! S; a T; T% _, h' O
, S. y% h3 N. o- Z( w5 }下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
3 E0 h8 E# p7 k$ a- }2 [ q' {首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
- T- S" l# f! h
5 d- D }' _1 P9 E. @7 M
L: @& d! t6 [# u' \图1: 未进行优化处理 - 原版效果图 ↑↑↑: r: h g+ j# R# g7 k: E
8 }5 m1 n0 v) D! P很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
# U0 C) w. H) r- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成% @& L) q0 K( B& k
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
% f# W% e( F ?1 r# l以上操作就是过滤关键词;7 s- @$ l. @8 i- k! {" N8 K
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等0 H' ?; y& C9 |
- jieba.add_word("仑中")2 H% V9 }: L. W4 i0 g; x
- jieba.add_word("蓝桥杯")/ N: y- _* o1 I: k8 p
- jieba.add_word("第三方库")
复制代码
* P) @1 h- d9 v4 i" g- \
7 A8 K/ ^+ X5 v& C* J图2: 已进行优化处理 - 效果图 ↑↑↑
2 O$ I' |1 I, P$ n9 F3 ~+ Q+ ?1 u3 H1 b# E, Y8 |; ~
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。# X& ^, Z& c* K! s
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
8 C0 \# H" i2 C- X' M: p
5 ^) q3 h8 ~$ t1 C- L# n图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑- x% G' w" k0 q$ ~7 h- f
8 }) W: q0 O6 G
核心代码片段如下 ↓↓↓
9 N! Z) J7 w' m4 W2 J5 t* [/ s- import jieba
% R6 I) [: J5 A, P) l - import wordcloud0 z/ Y& a; E% ^8 g% |5 w5 r
7 Q D" }5 f8 L( G$ b- # 引入数据文本文件
5 i- n! o; o9 R8 E3 l. J: N' P - text = open('text.txt','r',encoding='UTF-8').read()* L: y3 q6 y& P! o' Z0 t
- # S6 u& P/ k0 T/ P" K5 o! L% `; B
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
_6 x$ A9 G$ G" q; M - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
! c9 X+ T$ s- E" H - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
$ B. V, B, g; |7 s - 8 k' C5 m9 I7 |& O9 B- ]
- w.generate(" ".join(jieba.lcut(text)))
! }; A3 |* Y) g1 G - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
9 n+ d6 E" b7 r$ u, h7 z - 9 E+ @8 m6 g2 F9 K& F/ ?. O t, N6 }
- # 新增关键字词汇6 J. K# I3 z0 X8 X# w
- jieba.add_word("蓝桥杯")
+ ^/ v. R& o$ U% E) M% j D" B' n: h1 v - jieba.add_word('仑中')' v1 J4 Q( `& _6 @6 K& N' ]# ]
- jieba.add_word('新高考')" D5 F, d6 `" ?2 `
- jieba.add_word('零基础')
h3 u: n4 q+ t - jieba.add_word('第三方库')- {" t1 i9 O4 h8 I, }. W
: K6 f/ N* t7 J, u9 c( D2 S- # 过滤干扰词汇% l6 a$ T/ W! Y7 Z5 N, G9 P
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']8 t* d0 b& I4 |, {( |
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
# a+ |( z& {, L3 L3 e' u - * j2 t: D" t+ {& I
- # 输出图文( d2 `* j. ~; D7 F0 V7 P% |4 b$ M
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|