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

' h( ^) N9 v8 k N V hello!大家好,今天张老师来讲解词云的具体应用实例,
' A2 @6 E5 D& a9 z j 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。4 \, b8 r0 S; n1 x
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , / h/ [2 M W; A0 M; X
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
1 S+ p! }" a9 {8 n- jieba 库 ------------【学习直通车】(高中必修)- x0 \9 O9 D D7 X4 q" s: o* y4 m9 i4 n. F
- wordcloud 库 ----【学习直通车】(高中选修); K' R" r# q( W# |- G7 k
7 p) G4 P8 V: `8 a; y/ k& c
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,; `& O3 v. r: N( h" K$ B3 M- }
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)( `* r7 c" A2 g; ?
7 _' Q* h! ^5 e4 i+ H3 B8 P; f! B
+ G# b+ ~' w" E+ z) @
图1: 未进行优化处理 - 原版效果图 ↑↑↑# G: m% D3 m1 L3 D/ h: V/ T
, k1 ?. \1 U# u- ?很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
: @) {6 Z7 _/ y1 a# T" W/ X- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成+ c0 E) ? S' Q& G- `
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 7 E( @. ~9 g9 R4 `1 P2 }* {
以上操作就是过滤关键词;) @! e; d7 p9 a9 h) D. M
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等0 E! }) o K- H9 X* S4 y
- jieba.add_word("仑中")
; `3 ?9 @: x1 o - jieba.add_word("蓝桥杯")
/ h9 b& ?) `) b! e! a# c& t4 u - jieba.add_word("第三方库")
复制代码 8 m6 w6 d0 N! G# M
" a) B7 C5 |- k1 o* D: y图2: 已进行优化处理 - 效果图 ↑↑↑3 q$ j1 r# s3 Z% {
3 I! F- `9 n9 n) c5 }8 S% W7 \通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。) U0 o' q- g0 s0 y6 H1 D. |$ o, ?" z
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
& j( C: ^9 O' T" ~" D6 r
; R1 L% ] g0 Y, S5 K图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
, R) k* c2 W3 ~
. N$ Y( T0 m: q) R; Q核心代码片段如下 ↓↓↓
+ e1 d* z4 `" ]5 ]) v- import jieba
& d/ ^ J, k y, C. i" e! ` - import wordcloud3 C% m1 e4 v* n' v
- U/ A$ _" _9 D/ p
- # 引入数据文本文件
' ^0 n2 M2 @3 ?% Y& n H* I - text = open('text.txt','r',encoding='UTF-8').read()
/ P9 Q8 _+ s' o1 ^; J - + U% R# Z x8 U$ D5 S+ R1 R! f
- # 设置词云图片大小、字体及背景色(背景色默认黑色)$ F; w6 w) e4 t- `, F; T
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")" b" ~. l: u7 S4 l# U
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板 p' B7 }- v3 z' x1 {( j9 E6 r, o6 O
- , v' s# Q" h. i$ _6 F$ @" _' D
- w.generate(" ".join(jieba.lcut(text)))- o6 m4 [) `5 ~1 U6 w. M4 r7 r1 S
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签' P- P7 E! Z) {2 x) N# x$ J
- 8 K' O9 o7 O* @% {4 @) q: Q
- # 新增关键字词汇' ?# s7 b+ T, X! }" ]5 _9 p4 x
- jieba.add_word("蓝桥杯")& n! Z/ ^6 c- i& P$ L
- jieba.add_word('仑中')
/ G( B1 G" D4 A/ b4 C+ Z j - jieba.add_word('新高考')
# v: R3 r% b- x9 ? - jieba.add_word('零基础')
$ z, f/ G8 h$ a6 v1 V; q: V - jieba.add_word('第三方库')
6 |' N) m$ X8 l! _
2 Q6 f q" Q% B2 j3 p/ h- # 过滤干扰词汇
i% i# t- D9 b1 k, o - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
4 D, X2 v" j% I) h& H" v8 C - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
/ v- q5 V+ T- E8 e4 y - ( V% \9 x ~3 p' p
- # 输出图文
5 T4 P2 B ?4 L2 ~ - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|