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

( a2 A* `9 _- h+ t hello!大家好,今天张老师来讲解词云的具体应用实例,( [' e& t+ {1 _ h& @0 x
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。( T9 ?( U7 {8 b# j" T' l. H
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , $ k. A6 H! V) E9 j
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。; A+ R6 q5 I# N% n
- jieba 库 ------------【学习直通车】(高中必修)
- V8 \: @: N' M8 i4 Z7 S
- wordcloud 库 ----【学习直通车】(高中选修)
9 C; C' K7 i0 u% a+ o
' L& N: h' G5 Q# h
下面我们以《新大榭python学习社区》为例进行数据词云效果展示," S1 R6 V$ L0 ^7 c# J. A) m3 |# U
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
8 K$ \# H4 Z3 X. z& F: R! Q, \* I8 l- m9 _% u$ i
3 e K; q/ {% W. ^' W
图1: 未进行优化处理 - 原版效果图 ↑↑↑
( ]% Y0 R" G( O& o$ P. H7 D
% r$ o$ m: T3 W6 X' L3 i4 y很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码$ i7 R0 h2 o( K v' r" ^- \
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成7 b$ \; A) ^) Y$ n
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
( W8 @4 p A. I4 L以上操作就是过滤关键词;
! b8 l" b6 U6 F0 @* ~反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
# M! X8 [/ K* r. }- jieba.add_word("仑中")$ }* H% z. [- \3 o0 f
- jieba.add_word("蓝桥杯")
- b+ l0 X6 f6 s$ c% e1 a/ r, ` - jieba.add_word("第三方库")
复制代码 - W0 D, {" b( @: N: Y
, C2 _9 E) u, q9 L% ^% ^图2: 已进行优化处理 - 效果图 ↑↑↑! J3 n. O6 z, |) G6 W h, l4 m
" y J' K# g! ?通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
# R; i# U3 M7 \! ]2 a; t! ^这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
8 X; I4 P& p1 Z7 E/ e' @
/ b) \& d1 x! c* P/ g. b& R( f, j% f图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
# C$ ]$ I" ~ t# W' [- F6 y6 \9 W( V1 J" Z4 q
核心代码片段如下 ↓↓↓
0 ]: L ?. Z" G5 S" m' `- import jieba2 }4 m" n6 f8 F
- import wordcloud2 m" c9 g- C) Y$ `7 g8 v3 W
! N5 @$ e; A+ j. ^# {) f- # 引入数据文本文件
( y4 d j5 U' E$ C: [$ g& m8 u - text = open('text.txt','r',encoding='UTF-8').read()1 V4 j T( }) Z% ]1 e6 h
, o3 b2 ?) m) Q: o+ S- # 设置词云图片大小、字体及背景色(背景色默认黑色)
8 J5 F/ X( D% S - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")! z/ |% K3 c* s! \5 b% z3 L
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
" J, J, E* P: U$ I8 g9 N' z. ]0 T& }
9 Q) D q9 T/ y- W7 P- w.generate(" ".join(jieba.lcut(text)))
$ b1 |, `; f0 s5 U0 M7 \* L. e - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
- x, V/ ~' e# `4 h& k - ' v4 u3 {7 f' j7 A
- # 新增关键字词汇3 L& S6 x6 u# t H8 B$ C
- jieba.add_word("蓝桥杯")
. {# K6 S( Z3 [2 w9 t, b/ H - jieba.add_word('仑中')
+ M8 T& o6 |, q; c% V3 O; s - jieba.add_word('新高考'); F2 a' J1 e) W* b
- jieba.add_word('零基础')
- R' G/ w- S7 p- b! T- q/ P6 j6 k - jieba.add_word('第三方库')% z" j) ~1 a5 n( s5 C' v8 r
0 Y$ T/ v9 j1 u% @! r- # 过滤干扰词汇
6 h' G8 E$ ^ Q8 D/ H+ T" \ - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']5 J1 j l- }6 A8 a% m; g/ o
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))% ^9 y% b3 M1 s
- . L7 `$ f* x/ \" M
- # 输出图文
* L( i! @ {' ?7 |. B% r$ }2 ] - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|