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

- V. [+ _: |$ m% G, P hello!大家好,今天张老师来讲解词云的具体应用实例,
9 |3 t O/ B' a7 W 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。6 [- Q) {- R% M% Y. z; s4 ~
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
' |1 l$ \$ }" ^ 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。 m3 U* H- x# l' r# @ M" o9 F
- jieba 库 ------------【学习直通车】(高中必修)! V P6 R) E# ?9 c0 |* n; Z
- wordcloud 库 ----【学习直通车】(高中选修)
- O- `( \% A0 F% t4 r( B
& Y" f7 E1 {3 Y; I下面我们以《新大榭python学习社区》为例进行数据词云效果展示,% }% s1 _( D' m: y. T" }2 U
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
+ [: {( L5 l ~% I) M) Z
) J, O/ t' X, A' o: a4 q% X8 a
+ R, v5 L, U" j/ N- V9 }
图1: 未进行优化处理 - 原版效果图 ↑↑↑
/ f/ V% J& g7 i" W4 ?) y4 q- ^$ R. Y0 y j5 T! m
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
9 P( ]3 {$ X/ Y- e& L7 @; ~5 \- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
( |$ F' m" D% G( D$ q5 L% [- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
* g3 p) N- f. l5 P; z以上操作就是过滤关键词;1 z t. H) }( n$ U" ~
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
0 K8 m* @+ L. P. t9 ?! w b& V+ l' U- S- jieba.add_word("仑中")
. v: G1 i, ]: a D: M, V4 L L - jieba.add_word("蓝桥杯")
% p. `, N9 l" V! F. e5 a - jieba.add_word("第三方库")
复制代码 : R% `7 R2 f% }/ S+ ^0 p' J
0 k4 `6 ]9 n p' } X" ~' _图2: 已进行优化处理 - 效果图 ↑↑↑
8 o( Q/ P/ C' d6 I b* ?/ b; o3 @4 F* K- S
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
) N T9 U, T! A) L这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 0 o6 g. f D$ @& ^
6 X. r0 L3 e( ?图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑, N# \, r j: G* t1 }' t" T
0 |* K* `) M. U' K7 r7 p" B
核心代码片段如下 ↓↓↓
: N3 V& H6 n! e1 o% Q* p- import jieba
" A8 d: j( u2 l - import wordcloud
9 I" ^2 u7 J5 x9 Q9 q: A5 c8 H( V - " n7 i' c6 y2 z8 u* `
- # 引入数据文本文件( t, Z4 h/ }+ I u
- text = open('text.txt','r',encoding='UTF-8').read()4 q1 j6 ~9 I% T$ r: m o' x
- : b. I' y2 B, {. s2 M! }
- # 设置词云图片大小、字体及背景色(背景色默认黑色)8 ]% z6 x* W5 K- U' o; m
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black"), x( d$ x2 H6 r/ {3 s5 f; ~+ k* I
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板5 g: X1 l5 ?. P
9 }. d7 o' |/ ?: p- Q8 a- w.generate(" ".join(jieba.lcut(text)))
9 D/ y9 X2 p" V$ B - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
' e" y: s$ i& m: Y \4 }7 `; y, J
! \3 U& P0 s. A/ c6 j- # 新增关键字词汇
! B* Q0 r2 x5 [0 X: @ - jieba.add_word("蓝桥杯")
' `+ B/ P H" e9 o) a - jieba.add_word('仑中')
2 M; f6 i. Y, |! k8 Z4 Z* c - jieba.add_word('新高考')
1 |4 W! A$ F! f5 g - jieba.add_word('零基础')
1 E6 F- P' V& I8 j - jieba.add_word('第三方库')
2 \. ~5 k6 G" o( T
- Z: X0 i. p& Q! Y8 g4 i- # 过滤干扰词汇
$ A* U7 L |8 U/ b5 o - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
8 C# w- x4 G, p2 P; Z9 t' g4 n - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
5 w$ r1 Q5 v) s# P, j% |! N# u4 z8 c
" `$ i# z9 C. ]4 y- # 输出图文2 t, s F4 ~" I9 e" r( Q( X
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|