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

( x8 J2 `" ]4 A n$ h+ l hello!大家好,今天张老师来讲解词云的具体应用实例,, \9 G9 n6 z* r$ M0 O
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
& [/ E# s9 F, E0 f8 T: W: J 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
& B; _. f7 L& u' i/ E 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。- u" F4 `# L, y: o% g
- jieba 库 ------------【学习直通车】(高中必修)4 {( d* ?9 F) J; g
- wordcloud 库 ----【学习直通车】(高中选修)
; o. u7 o9 b' r; I2 b
" Z# v( d9 p8 b% P% E0 _, i下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
( }+ Z3 h3 m) a, T6 I" N首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
6 \: M# E: G+ I3 u5 a2 H5 g" k
% a+ M, C; W/ { P6 Q" }3 @
! M& A- `/ P x图1: 未进行优化处理 - 原版效果图 ↑↑↑
7 V9 n; G; f' b5 x2 n1 e; _9 I, F& Q
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
1 Q# X' U5 G! \7 B$ G; x9 R. `2 G% j T- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
4 j& D; D4 u7 u# m- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码
8 p1 L3 s" N% q3 }以上操作就是过滤关键词;
5 `8 g: S7 k4 z8 Q3 J2 ?反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
" ^$ \- ]- P: k2 C. `- jieba.add_word("仑中")- h1 {" V+ z- j9 S! i
- jieba.add_word("蓝桥杯")
, g0 c& a) m7 T7 s5 O - jieba.add_word("第三方库")
复制代码
. g( Q/ T; Q) E, Y9 R2 @9 o
& m. ~' O2 U8 Z2 N- B
图2: 已进行优化处理 - 效果图 ↑↑↑, b# r) N# y8 W6 m5 Y. f9 d3 \) J5 h& W
& ?2 o# m; Q6 P7 `
通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。4 a4 i) k8 |7 l1 Y. u8 C
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! : x; t1 y4 |6 h+ q0 U
' ]4 K& z7 f9 {3 \5 V图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑& }* C4 U3 K0 M9 u
' O/ @* O7 w$ M2 k/ G% h核心代码片段如下 ↓↓↓! F" _6 P4 L$ Q$ v5 o
- import jieba6 ?) c" l$ t+ [' x& ?% G: {. o
- import wordcloud
: r- [6 d% c7 D8 m+ ~/ |
/ J6 ^) a5 `2 ]/ l, C- h- # 引入数据文本文件. Z6 m& M5 ?0 y# G& M( b* A
- text = open('text.txt','r',encoding='UTF-8').read()
! o1 s, Z% |/ w - / S6 G7 W" _+ H! V: m3 Z# P
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
) `; V; W) C' w: W; ^ - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")2 n! b7 O h/ W2 J
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板4 L. g) }. W2 Y, O
- # z! `! S7 e, Q7 k% k# N! g; b
- w.generate(" ".join(jieba.lcut(text)))5 T; W; f% w: O, g& K
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签; \+ r2 z5 e9 m! K7 N
- , A6 p. ^5 @6 D3 w R
- # 新增关键字词汇
' g/ v: b. a8 ?- G# q/ u - jieba.add_word("蓝桥杯")3 T# {2 n) e, ?/ d6 _/ d- K8 b
- jieba.add_word('仑中')
# O2 x$ Z2 f& a+ W - jieba.add_word('新高考')+ e1 ^/ j- h- x) N; ]3 z
- jieba.add_word('零基础')
% R5 s, q7 E K3 p6 i' O - jieba.add_word('第三方库')
4 i9 n* D" H# K( c
+ H$ P6 _% c! _6 b- f% c( E% F6 v- # 过滤干扰词汇
7 t4 a% u6 n7 R/ t+ U - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
6 E9 ?- a. \; C8 W! V6 h - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))4 n2 o4 T+ J4 V6 a7 Y
- 7 k* s' K5 D. x6 S1 y$ t' e
- # 输出图文; `! R9 ^" |7 O. r/ A
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|