马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 q1 |# ~. Z( m6 a6 v( F/ u3 s& y
hello!大家好,今天张老师来讲解词云的具体应用实例,3 F1 E6 Y/ P. h2 |
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。( w" t2 ?% Z" s* r8 j6 ^2 A( U
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
( M2 P- L9 P6 b8 P0 D# D! D9 _ 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
" t, s" r% {& x- jieba 库 ------------【学习直通车】(高中必修)0 P9 W6 D y+ S. ^5 H( L( r, L
- wordcloud 库 ----【学习直通车】(高中选修)
& F. l) S4 D& ?
a+ F2 W1 X8 S/ W( ~% z( X' a下面我们以《新大榭python学习社区》为例进行数据词云效果展示,2 B( M" ^) u% L( _2 @- p- Z
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
8 V! `" \& k6 h# D* Z4 T" L$ d/ M, g: C
( K+ E P9 t% ~! A, ~# D
0 J3 i# b1 }: F图1: 未进行优化处理 - 原版效果图 ↑↑↑
' Y% w c7 i O; o7 u0 ~
q Q: D( e' V' R% y; `很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码2 ^) h1 I7 M# E# z, J( F
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
3 ^, e. S( U0 U( }- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 - W# n4 f; O# M2 p& ^0 @# ^0 J. J9 K; ]& J
以上操作就是过滤关键词;
! i9 [; [8 e# Q" H8 h7 E反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
& ?- ~. M$ r0 |- jieba.add_word("仑中")8 n4 _* K/ a3 c z1 y
- jieba.add_word("蓝桥杯")
8 O7 ~0 G5 X. r3 o; R - jieba.add_word("第三方库")
复制代码
- [5 }$ P& n) a, x5 D) c7 B5 w
3 z4 g' X' N* ^$ H, [; a" Y1 X图2: 已进行优化处理 - 效果图 ↑↑↑
; }( u/ h; z! U4 Z3 n) }" c' U& K3 t% {0 w9 Q! P
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
: G5 G. Y1 h+ B& h; f6 h这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
$ [9 ^0 H3 i% I$ Z9 m* ~/ P
# e1 H; v9 o* O
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑7 I) @- K3 Z: T$ H
: e7 \7 t3 g) V7 a2 m* o, B
核心代码片段如下 ↓↓↓, H, N8 j6 [7 v5 m
- import jieba. [2 Q3 G/ r4 M4 }) X7 `. p5 I( S2 M
- import wordcloud
2 c& [( W) w, Q( O4 z$ U: {3 q3 f, q
6 c: [& a% l. |+ x" c+ S- ^- # 引入数据文本文件
) u. p, Y9 S0 J, a' T7 ~" E - text = open('text.txt','r',encoding='UTF-8').read() [9 n1 R3 S. E& ^1 q* K) E
& w" L9 l+ {9 @" h' h- |- # 设置词云图片大小、字体及背景色(背景色默认黑色)
- `5 t& J4 U. i4 D - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")9 V& t4 s9 f) d( J( j$ S1 Z7 {
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板5 V8 U, v* H* F% ?( x: a$ [8 t
- & h3 [4 \8 a# s
- w.generate(" ".join(jieba.lcut(text)))
3 E/ \ e1 I- h: c5 q- p9 ` - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签. ~4 X9 n/ D0 q* z/ c" |1 W
- " |3 q c, }- F2 j
- # 新增关键字词汇
1 a1 B& \ R# c- T# Y - jieba.add_word("蓝桥杯"), S; V3 b+ M4 D7 ~# x
- jieba.add_word('仑中')# V3 l/ n X8 F* j/ N
- jieba.add_word('新高考')8 Z+ B g% r1 v8 [5 G# y+ o
- jieba.add_word('零基础')
# z4 t5 @* _+ F8 `; V' c - jieba.add_word('第三方库'). ~6 e. U3 B: c) g ~; J
- & c! V5 n7 m. j9 j- M2 X
- # 过滤干扰词汇# j0 ~# }' O# H# V
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
! c# U; B% }! U: K3 @& d- j - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))# \: B# r) g) O
- / C. S& C& h2 A; ^7 V% @/ C
- # 输出图文8 d. \" p2 c- _$ p4 f! O
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|