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

2 C4 l) d- g/ i7 c, {, [. v/ c hello!大家好,今天张老师来讲解词云的具体应用实例,' g1 X0 `3 g, a5 t5 _& u3 {8 U
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
0 M. H; ~2 D! {% \- F 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 5 C* Z+ `: g0 w& r; q: P& Z
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。 @: u, S/ h9 h
- jieba 库 ------------【学习直通车】(高中必修)
l# a7 }6 n7 Q" n* `. \' R
- wordcloud 库 ----【学习直通车】(高中选修)
' | d9 V1 y. U+ w0 ] ~/ o* A' S
/ N6 ]9 @8 w/ z% {5 T下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
8 r3 I8 `" D) A6 \/ m首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
( U. i4 x0 Y9 L8 _' |% e9 v( ^% d* K+ @$ x* g
/ @8 K% F0 b7 o- E0 f6 s
图1: 未进行优化处理 - 原版效果图 ↑↑↑
0 Z# T! X- E# |
$ @: g8 D6 ?6 s- O2 d很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
. ^3 H6 a( y" u k3 V2 v3 f) e' m- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
9 Y# G7 {3 S+ M' @$ c9 U9 w- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 6 B5 J' C2 F( _; Y
以上操作就是过滤关键词;
% ^, o- A* N' ^! @; }反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等) o9 y6 m# F" P( K
- jieba.add_word("仑中")
# P. g" }8 M5 y# K - jieba.add_word("蓝桥杯")# W8 f# Z7 Q; z4 N! u" f% H$ t v0 S
- jieba.add_word("第三方库")
复制代码
" f$ D6 a# c1 Z5 W8 [9 y
8 x U; t! \! s7 r图2: 已进行优化处理 - 效果图 ↑↑↑" B( j. w S% E0 S
5 c# n* h4 N( f! x8 h
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。; a2 F) A5 e- m: @% [$ v
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! # q' ^4 r( e2 o4 X+ }
% @8 l5 u- u; l& b/ u图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
, f! d' @( h4 T; U
5 E5 V& A& N: \# T7 D9 f核心代码片段如下 ↓↓↓
: Q1 F/ G5 A2 p( H* ~2 V* u+ C' |8 I- import jieba' o8 b, T2 h( x W7 {5 V8 I5 v
- import wordcloud
& N. n/ [4 N6 J% @" f) C& F" }8 i* Q
: C2 T R" Z( i( u% C1 k- # 引入数据文本文件
1 C/ h% w: ~# ^ - text = open('text.txt','r',encoding='UTF-8').read()
4 E p; A% n# C, L4 ?
@% C8 u6 ^- L- # 设置词云图片大小、字体及背景色(背景色默认黑色)- A: ^6 j1 I# a( ?; ]
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
% q2 y K* f; e - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
0 C3 Z- o$ Y* N. T9 N1 l - / D) m4 N9 i4 a% J8 j
- w.generate(" ".join(jieba.lcut(text)))8 r' P, E/ S, X! Z' _
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签1 `( X" m/ E3 P8 z; w* _6 p
- 4 i" A3 J9 V9 h1 b7 O5 H% g1 r# }
- # 新增关键字词汇
% J- I/ r4 n% d2 K1 i9 _ - jieba.add_word("蓝桥杯")5 H- f& d& G7 r4 P! g4 x- M: A2 d
- jieba.add_word('仑中')
: P9 p% A/ C. [2 t" d9 M5 k - jieba.add_word('新高考')3 l9 t6 p* I. }9 @0 b& d
- jieba.add_word('零基础')
8 ?7 l% Y! g j. s1 O3 ]6 E - jieba.add_word('第三方库')
' v: I, q. C% C5 T* ^' m' J
9 R0 ]; m; o% F/ N# U- # 过滤干扰词汇0 y& }- c8 s& m1 G+ S% Z* r
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
% f u1 G. o3 n% }( r/ @, z6 v - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
9 C8 l/ B2 c& S( C
" e" y6 i" v/ h- # 输出图文& j1 C+ ?3 H# b- ~4 b8 Z
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|