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

5 @6 o6 W; f4 s1 h hello!大家好,今天张老师来讲解词云的具体应用实例,4 k$ l' m3 |* v& M n& Y
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
( M5 l5 Q ?& @* l 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 7 O; s; l) [( A7 m
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
: C: ?. F! M* A( Q+ f" v- jieba 库 ------------【学习直通车】(高中必修)! L; I' P/ [/ I- ^" ~
- wordcloud 库 ----【学习直通车】(高中选修)# w3 L, H$ G+ X" i S4 w
! y. C- [7 z: {' |- f下面我们以《新大榭python学习社区》为例进行数据词云效果展示,6 R& t# r$ F$ ]5 o: K
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
9 c1 f/ U1 w3 ^+ U$ W. J" t" l) S. r5 W/ w% v# [9 A2 q
4 P8 O' Z X+ W图1: 未进行优化处理 - 原版效果图 ↑↑↑
' e/ B; N* W% ~, K" t& q% c
* ]4 \" R) j8 Z2 U q; F很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码6 g- a0 s; Y. B6 L$ l" J
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
; G/ v* q! \ q8 f. O$ k- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
" J) P4 I; j9 P以上操作就是过滤关键词;) F1 \% ?: R1 Q% t
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
2 B. W: R4 v% U: `3 h2 E; f- jieba.add_word("仑中")
! w; L! o. ]1 w$ s& `3 A4 N - jieba.add_word("蓝桥杯")* p6 W* W9 G5 b) o. Q% q
- jieba.add_word("第三方库")
复制代码
" b+ z- c ^% X( n6 |; y" A" {
/ W2 t: t( ~4 _2 `/ ^+ D, L/ V
图2: 已进行优化处理 - 效果图 ↑↑↑ h3 J5 S4 p6 w- V2 _; A
6 H* R$ D+ X% Y" a5 V D/ s4 @通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。+ n8 ] [ t2 i+ j
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
+ t5 c/ L$ S6 R* [
! \- b3 W$ _. E- y; J4 N( V图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
5 x3 Q' o0 W+ a @& t2 d! T$ n8 @% u) M
核心代码片段如下 ↓↓↓
+ ~' ]" ?: o9 x# ~- import jieba
- j c$ m3 V9 f; k _ - import wordcloud
( O( P2 m5 C+ r( ~7 v3 }- t
0 m/ s" w3 @& K+ j/ V1 \6 z/ V1 ]- # 引入数据文本文件7 y3 c9 h4 W- w9 ^6 Y( J g
- text = open('text.txt','r',encoding='UTF-8').read()2 _( S! U) I+ h3 G0 o# o
' b. V- S' J+ e% V+ G2 n$ [( a- # 设置词云图片大小、字体及背景色(背景色默认黑色)
" |1 s0 N9 @& _ ? - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
# Q) `. t) w% U! D: Q6 ^ - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板3 Z1 T1 \% a% B$ j( y3 X
- ! b1 {9 d1 d4 C/ W9 h$ E+ b
- w.generate(" ".join(jieba.lcut(text)))
; |6 V. S3 `# p* g2 ?; f - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签9 p* J( q4 ?7 ?/ o
- 5 T" T7 _# m( Q3 M/ l
- # 新增关键字词汇
% n" i2 U; c" y4 X* x! P - jieba.add_word("蓝桥杯")
. P1 ?& @8 q t- _! ]% M - jieba.add_word('仑中')
. k. V0 t6 ^( v# @$ m8 I; L - jieba.add_word('新高考')( C+ h& o5 I- K/ Y4 ]
- jieba.add_word('零基础')
8 T6 F! M* I* l" Z o) t' @" n - jieba.add_word('第三方库')0 E G0 P9 R) Y4 B" a7 `3 b
" l7 e, n$ w2 }! P Z/ U" u& y! w: u$ S- # 过滤干扰词汇
9 X. W6 U* c3 |% r4 s: } - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
4 F7 y% k) ?+ |8 F - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))6 T- D/ O& X8 Z8 N
- O! t ^0 `% V% ~1 f) m2 F& l4 D- # 输出图文. l0 A) I: |5 D C! b
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|