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

& }$ ?. s. E! t! n4 ^6 }7 ? hello!大家好,今天张老师来讲解词云的具体应用实例, d. x, [" g. v7 Z1 j
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。# T& @& D/ {# M$ m W4 ~
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
8 @" g: U- O0 o3 R 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。8 J- h) M8 V! F- n5 e
- jieba 库 ------------【学习直通车】(高中必修)& @9 n/ Q1 A8 o3 J; S" M$ r
- wordcloud 库 ----【学习直通车】(高中选修)
9 r( n# j# u+ F/ o0 l8 w+ `8 I
# y2 v! V6 S$ ]) A下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
. ]) p4 Y5 ]! x( c! N首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
5 c ?" w) _2 l) c! y ?$ v3 {6 ^# o& W# X) t/ F9 W
1 \$ Z0 s% B. Z- x# ] n
图1: 未进行优化处理 - 原版效果图 ↑↑↑
1 H/ O- d& J5 t# Q" q! m, X$ @9 V2 L$ y# u* w. M/ T2 t6 k
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码( e2 Z( D) e d
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成5 |2 Y) R& P& r/ l6 w- n5 B3 v
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
$ Y6 e7 @% q4 u* `以上操作就是过滤关键词;) G3 N8 Z+ u8 x2 P# A) m6 k% @+ `# ~
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等9 C6 M; r! ~3 R0 _! K0 q+ F' Y3 Q
- jieba.add_word("仑中")6 _/ F0 ?$ q" U( s
- jieba.add_word("蓝桥杯")
3 c1 [6 Y+ R7 U - jieba.add_word("第三方库")
复制代码
/ ^" `! F/ H# V q2 N7 w
h* [2 R6 }7 p, Q* Z3 x& x图2: 已进行优化处理 - 效果图 ↑↑↑
& d6 T4 k0 U6 P4 y* K X& n7 R7 a+ }2 ^
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
7 [9 l9 ^4 p8 G' e; W& x这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
/ ^) I, P/ v9 B4 U& z
$ Q+ t% S! K7 |; r图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
% `4 ~' q4 _6 E+ t* l7 r
2 p5 F( n( J' @4 N) A3 }4 C核心代码片段如下 ↓↓↓
! w1 X* b( r3 h* c7 z- import jieba
9 p' C4 m6 j( e+ |( P# g7 t5 b4 B2 U% X - import wordcloud
( B4 e0 F. I3 R7 m% z8 ?6 K
* {6 t E$ \) K- # 引入数据文本文件
# \- Y5 J7 q5 o - text = open('text.txt','r',encoding='UTF-8').read()
- }( H }9 @$ `: w: B8 O
) r: I- A# g. O1 _# P7 W: Y- # 设置词云图片大小、字体及背景色(背景色默认黑色): p0 l* K6 K* t# i# O2 u# h: R# X
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")" C1 W4 M. I( Y' S
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板& \5 ]' A; z/ I! W) P. m
- & m2 c4 i w+ X$ h/ P
- w.generate(" ".join(jieba.lcut(text)))
6 l$ \( p# I7 \; H7 |2 o0 f - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
: ^! u: R$ v" W# D# h9 p
8 u! T2 A7 _, d* m- # 新增关键字词汇; G6 x: V. S/ Z8 Z
- jieba.add_word("蓝桥杯")
; R& ^( y! A+ F! m4 y t8 y - jieba.add_word('仑中')
r% O9 N0 {; S0 `0 t+ i4 F - jieba.add_word('新高考')9 }, p# X& w$ P0 ?/ O# c7 v, P
- jieba.add_word('零基础')
2 [7 `1 M. q& H2 ` - jieba.add_word('第三方库')
& Y8 v$ b& L+ P, Z6 i/ w
* b+ U: X' r- J( w- @4 v3 d$ ]- # 过滤干扰词汇% @$ B7 P6 Q8 o9 r4 N
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']' m- D& y A" C5 X: c" x" _! D
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))8 n) @% J- |7 s% v1 H. M
4 ~' E4 W7 K6 C! ^ x$ G- # 输出图文
5 X* v/ a+ C; Q/ q& q - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|