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

9 g* {$ d9 i% K9 Q w* |9 g$ \ hello!大家好,今天张老师来讲解词云的具体应用实例,
: Q, w4 n+ ?7 V) z0 A4 c- q 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
7 W! p0 f2 }" x6 d 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
5 q* z0 C/ I _/ b6 J# z6 d/ K 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
! H* N* S) m: G8 ]+ P+ j0 |- jieba 库 ------------【学习直通车】(高中必修)
9 e1 c5 ?* E0 S7 q
- wordcloud 库 ----【学习直通车】(高中选修) e& \ v$ k& H: e3 V8 K
6 K+ K. x: W# _; A! W: S7 Z( {5 A$ Y
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
- R' r2 q3 j2 L* n8 }# ~首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
) I u7 \4 e: l
3 X! p$ B; x* [" `
- k" }* }2 ?' o$ J6 ]5 Y% u
图1: 未进行优化处理 - 原版效果图 ↑↑↑) c, J3 `* f B, P" E- l, i, k+ o( X5 J
5 W6 j2 E( X W- Q很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
: Y n" x/ r" z5 T. ]- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
0 x' K4 e7 ~/ J9 Q- { x; C6 L- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 1 I7 A# Z; s$ {. e4 c
以上操作就是过滤关键词;
4 D1 b+ L9 x+ R5 e. s- x& B* q反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
2 B" q) ^1 S; _6 W- jieba.add_word("仑中")
; V: A+ L/ `1 T* J0 J- W: r3 p( N - jieba.add_word("蓝桥杯"); R1 K2 Y ?5 l: i
- jieba.add_word("第三方库")
复制代码 6 Q% ]/ J5 Y+ Z, I3 l$ u4 u. e
8 Z! L' e* U" @ K图2: 已进行优化处理 - 效果图 ↑↑↑6 b& ^0 K* h5 _
8 Q2 k& X5 ~- X$ M( z通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
" P/ q' x# |; t这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! ) g- w5 Z' d8 m) `8 a. X
. c# O# W" D* G图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
, v% ~ L" R, K! e! ^7 \2 {7 ~
$ D; J$ M& A% d核心代码片段如下 ↓↓↓
& l' q" B$ ~8 a: }1 r- import jieba
& ]0 g0 a, G; L. e; w$ V% s8 A% D - import wordcloud$ ~! w4 |5 ]! U8 O
7 D/ L: ?/ q# w% a* q9 e- G |- # 引入数据文本文件
$ O {8 R3 z3 _, y - text = open('text.txt','r',encoding='UTF-8').read(); `0 W8 \" _4 `6 E4 l( I
; D! g: m2 p/ S7 ~# E- # 设置词云图片大小、字体及背景色(背景色默认黑色) |) x0 f2 k# f, F2 O, M
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
$ J9 o8 q, \' M9 m! c+ t - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
) O0 E4 x- {9 x5 u# D1 L9 [ - 7 Y% a2 i$ F9 m6 @ Z7 A% {
- w.generate(" ".join(jieba.lcut(text)))" N8 d6 p k- p( C: D1 p% ]9 D1 x
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
, `/ }1 l N5 q) _. p& Q! `
5 i5 z4 u( W; z6 y# U; g- # 新增关键字词汇
7 c' W# r% }. ~' O2 t7 G: l& I - jieba.add_word("蓝桥杯")
; U( s: }6 B3 w7 Q' p( Y - jieba.add_word('仑中')) C/ Z# Q1 b4 J9 X* d
- jieba.add_word('新高考')+ X. p2 t0 e- d+ j+ l) V$ y
- jieba.add_word('零基础')/ N9 y+ h( P6 G+ Y0 T5 P% E6 Y
- jieba.add_word('第三方库')) [2 a: T" L! M# V0 O! ^0 M0 F
- ( \ ] ^0 R* a" g. p- U$ b$ u6 _- Z
- # 过滤干扰词汇
4 t1 f* U0 c. o+ o& l# O2 S - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
1 X! Z. ?% x G; R3 q, k - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))" A! _' Q2 K% V$ r1 ^
, z# g* q% f F- # 输出图文
o& e# p3 T; u: B7 P4 K* \ - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|