|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
y3 }, f- T& _' q1 g
hello!大家好,今天张老师来讲解词云的具体应用实例,& [5 p6 b) k! K; o7 e
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。7 e% x+ W1 q3 a# E
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
2 _- t0 ?# ^$ s, t 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。- W, W% ~# f% W
- jieba 库 ------------【学习直通车】(高中必修)
* `" I4 L$ ^+ }( y; y
- wordcloud 库 ----【学习直通车】(高中选修)
$ O7 r0 U, Z: e, U* Y, h! e
8 f1 V6 O Z# ~! l4 o* P下面我们以《新大榭python学习社区》为例进行数据词云效果展示," _& \8 v( I. j$ |
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt): Q) m- U [! g8 D' g6 n) h
: L( D+ n- ?" P
7 K6 U! ?0 _: c: G
图1: 未进行优化处理 - 原版效果图 ↑↑↑
$ ^# r; Q U8 C: t8 E, u% s
% S6 g7 i7 G# {% v0 m' F4 Y0 Q很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码3 V& t5 n5 w7 C+ J# z: {
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
" O, g2 w, f2 b ?9 R- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
! |; ^* ]! S0 b" ^以上操作就是过滤关键词;: Q# _% `' x0 k1 z* C
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等! b- j/ \, Y; l$ g1 W
- jieba.add_word("仑中")) @4 z" v' K3 Y) S6 \ H
- jieba.add_word("蓝桥杯"). V$ |, }2 c6 W* G. i* V
- jieba.add_word("第三方库")
复制代码
+ a! }$ y& i- S6 @( c
6 m. u# _+ \2 N/ P( F
图2: 已进行优化处理 - 效果图 ↑↑↑
1 a. @0 H y' L5 O6 k. U
p; h3 ^- K. O ]2 S, M+ ]0 b通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。+ I/ ^9 l: p6 r0 `
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! , p5 ~& _1 Q3 R# b; l' d3 i3 R
0 D% J3 C! u) U! k图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
7 p. r3 [' j& h2 f8 ?8 J
9 W( ~+ K) }* {/ }) {核心代码片段如下 ↓↓↓
' b2 w$ L% `0 s1 V- import jieba
, D( _2 |. N& ~ - import wordcloud2 U9 f3 H) e6 @3 [1 I* h: o0 e
+ P: I4 H r4 W# P3 S7 O- # 引入数据文本文件
0 [( i; ]0 d; i! s5 ~( T+ }; j5 W0 T - text = open('text.txt','r',encoding='UTF-8').read()
1 Z. ~+ |+ N: M7 T- F: Y - & i# V5 j! \( @2 w( R$ h& J9 ?
- # 设置词云图片大小、字体及背景色(背景色默认黑色); p% I( @* [: @6 t3 }( U
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")+ ]' g9 @% l8 a1 a
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板, i6 w, F# F y% f8 l/ r2 `9 W
4 J( g# y& D/ U- w.generate(" ".join(jieba.lcut(text)))
6 B0 `4 u* \) r8 v% \4 \5 V - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
- J( {( c" M2 f) G( {
* M* L9 Q% o6 g- # 新增关键字词汇: q% _4 X% o7 x
- jieba.add_word("蓝桥杯")
/ Q2 l: \2 I" o0 Y) t4 C - jieba.add_word('仑中')
, I; }7 h+ e& o - jieba.add_word('新高考')
6 t" p7 u. c' B& s' \( } - jieba.add_word('零基础')2 D$ S9 l' a6 S. d3 p4 P0 S- `9 S/ p
- jieba.add_word('第三方库')4 C( }8 y) i4 a) P
+ H1 X( R+ K# D; e- # 过滤干扰词汇
! w _* `4 ^4 S5 K: I3 ` - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
* L* j; R0 h l" h7 Q6 u - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words)), h& v' v, h3 G5 T
- 6 h* d. a( ^$ R5 d' R+ T
- # 输出图文9 S& C& V5 J# L" a- E0 s+ x
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|