|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
2 T$ k1 U; ]9 f! J' f4 W" C
hello!大家好,今天张老师来讲解词云的具体应用实例,7 G' z% P, M D R2 r& t0 M
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
( K! y. K/ L, i 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
) V+ D1 [9 }3 r7 Z 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
- `5 B; Z- A' Z2 q- jieba 库 ------------【学习直通车】(高中必修)3 a0 H9 \/ ?" U8 ~
- wordcloud 库 ----【学习直通车】(高中选修)* X% n% R' o1 J2 j% ?- q0 U
: S, Z. s) p' d
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
1 e7 F. }" p2 k G9 z7 Z首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)- [- B# J0 w9 j' l; T1 ^) {
2 E3 D3 U- f t' n& b9 j
. u% Y9 i: S( Y8 ]- L! P; J图1: 未进行优化处理 - 原版效果图 ↑↑↑
) P% ]* _+ L$ T. r* k$ h; [ Q( ^: v
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
0 V* T d, D/ X% U- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成( @: s V2 [( s+ X) }! M
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 & O& x' P/ B0 R8 \0 G0 d+ L
以上操作就是过滤关键词;, ?" u4 {% v5 j. G9 f
反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
l5 f8 y9 A. b; u. h# i4 Z- jieba.add_word("仑中")
8 V- n+ Z& N8 q' M: u, L0 D - jieba.add_word("蓝桥杯"); V% U& L1 K4 T! D3 O
- jieba.add_word("第三方库")
复制代码 * I5 H# m5 N T! L4 \$ B H% P6 g+ @3 u
7 K! I. n" m. h( \
图2: 已进行优化处理 - 效果图 ↑↑↑
0 X: {) X8 D/ n1 s6 U, C" E; a
3 s% V9 f( `' O4 q3 ]4 a1 y通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。9 y( y2 d1 X5 T; d
这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
2 N- w0 C9 M& ]: y7 u4 F
/ S7 z+ C; T+ d% e5 m
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑; s% H7 R1 w$ ?- \7 z [( A% ]
0 e S+ x( Z, }' y核心代码片段如下 ↓↓↓# U! `/ e$ L( K$ E
- import jieba
$ d* f. J+ {1 M+ V% j# v# G - import wordcloud
+ }# C9 X0 T5 C' ^( [# ?0 a- t - 3 z+ v$ p7 J! \! D$ j/ H2 D
- # 引入数据文本文件
1 N! Q7 m4 ]5 q F- c$ e4 p - text = open('text.txt','r',encoding='UTF-8').read()
5 H! D7 E. l, z - ( K" q* r- L! C+ Z8 c4 i
- # 设置词云图片大小、字体及背景色(背景色默认黑色)
9 P6 E+ N- ~: v$ A: K% J - w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")' [! n& x1 [3 y& [' C% }; f
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板! i) g0 e& n3 z& {
- " n% s5 B/ t6 A8 I
- w.generate(" ".join(jieba.lcut(text)))5 V5 h6 v2 R# N, d; e
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
- H; Y& z: i6 p1 G - 8 Y* q8 _, |9 l$ U2 V, `
- # 新增关键字词汇
4 V0 E, Q3 q) j7 m$ U. ] - jieba.add_word("蓝桥杯")
' n* B, m9 b; g! ]* j; _2 L4 Z' [ - jieba.add_word('仑中')
2 k+ i1 a4 f/ W8 W - jieba.add_word('新高考')# r( k+ J' n# C3 E: I6 r
- jieba.add_word('零基础')+ R( \# d, e4 Y F: K
- jieba.add_word('第三方库')
7 q$ c3 O6 b% v+ U4 `4 s
; z( A4 G, ?. z- # 过滤干扰词汇
2 E5 S9 a4 N: M0 W - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']3 ]6 a% A; U6 S3 X5 `
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
0 W5 M& q: o! x
# w) \. s# C: z" F X3 w( N/ g- # 输出图文3 q' r6 ]4 @" @* L
- w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|