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

* ]2 O/ h% z* W+ f hello!大家好,今天张老师来讲解词云的具体应用实例,
5 @" |% n* T3 ]$ J* P n( r6 B 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
# N, Z$ U* `: H" T" ?) I. R 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , % V6 C" A# s0 O- y0 f. y
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。/ u7 G! \, o+ h' o5 `) o# Q% r
- jieba 库 ------------【学习直通车】(高中必修)
1 W" E# Q8 Y3 M- W9 d
- wordcloud 库 ----【学习直通车】(高中选修)9 U9 C4 a% }6 T5 L7 G
3 o5 s2 C- i/ s" Y( }6 X3 t
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,) u3 Y/ y6 X+ W% W
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt). v3 k- M& C* Z/ r4 Z8 x
1 Q2 p5 V* X$ D4 Y; M3 c/ q
) {3 r' b9 [2 F图1: 未进行优化处理 - 原版效果图 ↑↑↑
9 C: j6 @6 Z' O" ~
! r2 J& |$ C: _: ^! [很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
/ H6 b9 p# f1 @: v9 ~/ L V J+ a5 ^$ I- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成3 H4 S: T! T2 h2 d6 `5 ]
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 + D# b/ X( g; W3 F5 D/ x
以上操作就是过滤关键词;4 @8 ?2 g/ \( D! C
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等. X) K! ?& } s7 T/ I, ]% Z
- jieba.add_word("仑中")
; _* _( X4 a% \% l - jieba.add_word("蓝桥杯")
: R' W! Z, J) H" J' E, m, e! z - jieba.add_word("第三方库")
复制代码
9 [# E7 f7 a# f: B% w
+ a* Y0 V: Q- ^' q- M9 _, a) I图2: 已进行优化处理 - 效果图 ↑↑↑) Z; Z$ s! O5 u
. e% ]0 v, w9 E: `5 |1 L* H+ g
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。. R/ i# H* s7 h# _0 \1 ^
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
* r: B% ~# G: t% s+ T5 ^( Y
) _6 j. z" v& `! K
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
& H: V9 ]8 v+ h2 w0 b" Z
, y X. L* U8 b$ }; O; h核心代码片段如下 ↓↓↓
6 j7 a2 e+ R) ~! Z6 M) o! e8 @- import jieba7 S8 K# E9 r) O6 k
- import wordcloud
( w3 h+ C! j/ B# x" l; V# a - 0 i Z+ A) |% z; G+ B( a
- # 引入数据文本文件
. v/ g, k& h, G' S3 K - text = open('text.txt','r',encoding='UTF-8').read()5 N+ |6 I$ v- F; J
- # e9 Q9 J$ u# d {* y7 g* J
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
5 N$ [' S4 Y' g; t* M* ]* I( k, r+ C& ^ - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
+ ]( ]+ a: v% X4 N" O* `4 ^# j - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
& f# i! ?* n. r0 h& r - - _7 `7 G5 ~" S- h: E
- w.generate(" ".join(jieba.lcut(text))): [% R% K* u0 |! X. x$ z0 K) Y% l8 ^
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签& e& m' P3 j. b: t( ?& u
, Q l: }. p& D- # 新增关键字词汇+ p8 o5 M% [4 E( c& Z; L9 n
- jieba.add_word("蓝桥杯")
5 `+ c" t1 s2 P9 s$ r - jieba.add_word('仑中')
5 [+ r/ J: i! [, W- V6 F - jieba.add_word('新高考')! _( N4 [7 c: h) l, A
- jieba.add_word('零基础')
6 `% }1 X2 K/ ^ Z* i7 z2 o - jieba.add_word('第三方库')
9 A) `5 I6 E# e0 Q( I
$ h3 a5 E- i; r$ h" I' C% s1 l' a- # 过滤干扰词汇
- \0 s8 G: _: e, L5 Y - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']/ T% ]- \5 ]1 d
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
G1 X5 I; D/ d3 ^1 s A* J7 p - 6 u7 _4 B( D; V0 {7 m6 r% _4 }
- # 输出图文% r9 Q+ T" c! {: P2 K4 u) Y# K
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|