|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
8 h& X* I. G* J2 \0 }. q9 `
hello!大家好,今天张老师来讲解词云的具体应用实例,
+ c1 S& V+ ] k7 H. B7 D8 y' M 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。& p v6 M! @" i; G
在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud , 3 o0 W. y6 U, v3 p! z; p! g; S
同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。$ ~2 c/ w% {% j- Z8 R0 S
- jieba 库 ------------【学习直通车】(高中必修) S0 b0 C& _1 Y! o/ z/ |/ [
- wordcloud 库 ----【学习直通车】(高中选修)* |/ U) k+ V. H2 ^ ?3 H' d
9 i. F3 H: a, w+ h6 Z: C下面我们以《新大榭python学习社区》为例进行数据词云效果展示,) ?& x+ r. }" x8 ]% _' u
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
! D1 ^ J+ y" t6 I
; F, a' y5 o R* c
* j) n1 {) l/ J# V$ Y& A# w
图1: 未进行优化处理 - 原版效果图 ↑↑↑
/ h- a9 I2 k$ M5 E& k
( W4 q3 ~! V% Z x, N1 o很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码) m" u% A4 f7 X9 s( e
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
+ P, ]: c' t, C3 _( |2 q+ F- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 4 O+ P; P7 D$ O' c# r
以上操作就是过滤关键词;
: b9 | C3 K+ @) k C" b反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
; b, U( z) \% b% p9 e- jieba.add_word("仑中")' S' g) U, ?, F/ f3 m1 V/ W' e# H. D
- jieba.add_word("蓝桥杯"), [2 j! u3 A! Y6 W4 C9 l' a
- jieba.add_word("第三方库")
复制代码
: f! T; q( q' c- a
0 f0 V. e& p z* o) E& e* D ?2 z图2: 已进行优化处理 - 效果图 ↑↑↑
/ U6 s. W T& O+ M- F; e
2 v1 B7 t$ w! X" H9 `$ M, X通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。" L5 J& E" ~" N
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! ; L5 w5 j; U$ b; L; b
9 G r9 u, z$ j, j1 m图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
9 |: ?6 {4 C$ j) b2 `
2 X! L! I. P: z) B核心代码片段如下 ↓↓↓ t6 H7 L3 b5 C% v4 F, w0 _
- import jieba
: r. s$ X( ^, x0 N, t6 C: w6 x - import wordcloud: ~7 A1 Q! Z9 N2 V4 F0 N
( L# v& ~4 V! r: g! x- # 引入数据文本文件
( Y9 }% c+ W; ] - text = open('text.txt','r',encoding='UTF-8').read()5 G, E& M" \/ X/ [) ]! ^
f2 A$ _+ I' W4 q6 m- # 设置词云图片大小、字体及背景色(背景色默认黑色)
- P4 u7 v7 k; H* C% ` - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")
/ B% R( b& w. L2 | - #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板" l! X l X" K$ \
- ) ~2 w. m1 i" w" `" c Q" M; f
- w.generate(" ".join(jieba.lcut(text)))
2 f/ |/ v$ z$ L" Z, R! M8 |* X - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
! f- Y" k8 Z1 i- Y* i
; V! Q, P8 X! E5 M$ x& s- # 新增关键字词汇
+ I% y, P. G' v% o6 @& i$ Z - jieba.add_word("蓝桥杯")- d1 Z7 R, M2 W0 C- _! |* J: r
- jieba.add_word('仑中')
8 x. G7 z# n2 {, `8 L4 c - jieba.add_word('新高考')
( P* Y& k: |3 X" y6 d$ Q - jieba.add_word('零基础')
6 k' E+ `- X5 q - jieba.add_word('第三方库')
5 P8 _7 p8 `% M, ~# r) N - 8 {, j; S8 W- P7 C. h
- # 过滤干扰词汇
M" q9 M0 F! \0 n( C R8 o - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
& o( H) ~, w! O4 h4 q - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
# }3 ^0 c* Q8 `; I d% {, r - 5 Y" M) s- s5 G+ ]
- # 输出图文
* ^6 W" L% w2 V+ }* m - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|