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

$ R& \$ r$ C0 ~1 B( y* O! T hello!大家好,今天张老师来讲解词云的具体应用实例,
% b. ^3 I8 `# ?& Q8 [) w 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
) h$ A+ S5 ^" S; P7 T! U' V 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
1 R& ~7 ]# F, Z) m1 [! k2 Q% Y 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
2 l- Z7 V% f& F2 N" k, l- h- jieba 库 ------------【学习直通车】(高中必修)
& L% L. [: R, L. I
- wordcloud 库 ----【学习直通车】(高中选修)
. r% A3 u/ G m: ?2 `
% [. I3 Q# {3 i( L: y下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
7 U* f4 v1 y( w9 e6 [0 U) f N* ]& \6 `首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
5 }* P) ~. w9 n1 M, k) {8 ^( M8 L
: {2 Z0 V: x. p0 K; o
1 r, [/ e( n: h0 B" D
图1: 未进行优化处理 - 原版效果图 ↑↑↑
& ^+ H, C, a* _/ t, i
8 Y6 N# K" [! g/ T很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
- G2 T, F0 r! \7 H/ t- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成% O: |2 ]% i' r+ n3 m
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 * E9 w4 w) n8 H
以上操作就是过滤关键词;$ ]% ?; ~& {+ h
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等+ R f, P( L9 f1 T( [4 b9 K8 f+ y
- jieba.add_word("仑中")
% a0 d% n0 ~2 ]; U- s; ^' \, S7 v - jieba.add_word("蓝桥杯")
3 D3 k' Z0 c4 n* p. X- M0 J& j - jieba.add_word("第三方库")
复制代码 ) d6 o) j$ r- C' g) G, s/ d! i
- O0 V4 P! y O( Y) H( P% A5 J图2: 已进行优化处理 - 效果图 ↑↑↑
2 n* e3 o7 C5 }# z' [" e. t, }3 U
2 C0 ]& p, q9 B通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
7 z# G/ X7 w" i* Y/ A! ~这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
Y! i9 x& i& b6 E8 y& d
; \2 R" S% C) W$ b4 f( v7 `图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑0 d g! J# N2 L. b0 E
+ w- P) C. M% F( ?/ e2 p/ K核心代码片段如下 ↓↓↓
. a" X0 ^: d& j1 f% k; q- import jieba
* @& k5 i1 \: } [& z! b. w G) Y - import wordcloud/ @$ _; k, R; E* m1 w# |* D, I/ c
5 r* ], w9 F& K) `* q: S" R0 E- # 引入数据文本文件* D: [" Q' m9 k! }) _4 o# n
- text = open('text.txt','r',encoding='UTF-8').read(), S& _' Z& k0 q3 n& E
- ! V% U) i( X2 q* m* B/ b
- # 设置词云图片大小、字体及背景色(背景色默认黑色)3 w2 G5 k" f7 \" A O. O
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
|# ~( b6 u. R: ]8 r4 i# n1 g - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板* O! l! l6 s* p2 S7 ?& |* y# ~6 l
- : t4 f, T D$ F: ^" W8 O
- w.generate(" ".join(jieba.lcut(text)))
4 e: e( z& {) d8 j8 b( E. z - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签8 Q) Y) R( b: j- X) r" a% O
3 ?2 o- s# D# V3 e- # 新增关键字词汇
9 _4 ?- }9 H! `" q2 x/ ?; G - jieba.add_word("蓝桥杯")
) s: U+ B z$ ^ - jieba.add_word('仑中')
l. J4 c, a" [4 p! G - jieba.add_word('新高考')
5 e) w+ X% ~/ y- Z- h( T - jieba.add_word('零基础')
! C7 ]2 {( X8 w' Y' l - jieba.add_word('第三方库')
( V+ t. V1 N8 }3 L
7 y0 Y' @, U: \1 S% T2 y5 b- # 过滤干扰词汇 g* O& c3 d3 e& H$ u
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
3 E& H- ^$ C8 O5 l2 e& Y - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
, R D2 V# a, b
7 q. }: [) ?& l& v- # 输出图文
?# K# Z, o( d( j3 a - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|