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

% {( F) S. n* x: I( V% h2 A hello!大家好,今天张老师来讲解词云的具体应用实例,( v. R) @. L o' G& @9 {2 u
词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
. C& {5 y+ W4 W$ e. P; v 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
. F) e1 y& t7 h* D/ f# ]6 q 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
& U: \: v% n9 Y8 P2 i9 h- jieba 库 ------------【学习直通车】(高中必修)/ p% R$ t5 U; p5 `0 E; R& I6 R9 t, |8 Y
- wordcloud 库 ----【学习直通车】(高中选修)
0 r& k6 ^; \' W' Y" p& L
! S: t9 V3 t7 l: G7 f' t6 A
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,4 A: {' e* Z4 J
首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
8 {6 T9 j- h% k% p u, y. q9 L! R& }; S9 g
7 ?: O6 s: K& h& W z
图1: 未进行优化处理 - 原版效果图 ↑↑↑
2 _# [1 v$ L4 i7 e+ w3 D6 P1 j. v6 G z* i. E9 c# A3 [, j6 |2 S
很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码, r5 v, ~/ t4 a( ~; n6 y, X
- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成
' X5 m3 U6 _1 }% I/ N- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 # }" ~% ?2 j% _
以上操作就是过滤关键词;
) W% g, j+ |6 D0 c, T反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等
, u, f: S# V/ i" h- jieba.add_word("仑中")" h% M1 ~) s8 g* I
- jieba.add_word("蓝桥杯")& R9 O( c) k% l/ k: |5 |
- jieba.add_word("第三方库")
复制代码 & G/ S g! v2 ^2 k
$ n+ L+ M7 F+ i图2: 已进行优化处理 - 效果图 ↑↑↑
# O7 q) \3 Q8 f) l# O5 H) w+ I( o8 F
9 Y; h3 s8 t' T7 H2 Y( v通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
6 `% I; n3 H5 a# |/ Z. A这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确! 3 _) O& m) X2 p/ ?5 o4 u, v ?
% E: A* W+ C3 g8 O3 L! l图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
/ Z1 M7 ~1 P. ~2 @
B& \2 E( @& _- r核心代码片段如下 ↓↓↓
4 s% N: {) y$ `0 u$ h- import jieba
: [+ V5 `+ [% u - import wordcloud1 {( |/ v7 \, j( O9 X- }+ q
# N4 ^' I. j$ d9 S2 a- # 引入数据文本文件
' \9 x" {6 }/ F1 N - text = open('text.txt','r',encoding='UTF-8').read()- U& p e, ~: U* u- i$ A) D; K3 s
6 X* P/ ?; w- m- # 设置词云图片大小、字体及背景色(背景色默认黑色)+ F9 U( X6 c: w1 f
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")$ d% f% N% F$ ^
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板7 [! @( q/ M" Z" |* } Y
7 ?+ t7 T* g5 K- w.generate(" ".join(jieba.lcut(text)))& K& u1 L+ y! Y, P; X
- w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签
2 t3 f/ \ K, q7 Z+ S
5 K1 z+ I4 C, R- # 新增关键字词汇
4 q1 O! M% w& g% z1 ] - jieba.add_word("蓝桥杯")3 E9 I# D0 l+ F; t
- jieba.add_word('仑中')2 F. E# J3 J% K: {* } Q
- jieba.add_word('新高考')" f& N, U3 [ A* K) Q. C# |
- jieba.add_word('零基础')
* V2 Y, O5 w2 z; S7 G3 } - jieba.add_word('第三方库')
- p: n7 g9 ?9 A$ T, L, w4 I9 j6 g - . C- e3 X% l. `& P# G7 d
- # 过滤干扰词汇# M" z* C- \8 Q: y4 d% s, s k
- stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
- h+ \9 |& o; n7 G: T - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))2 y- v+ t _. ^; N N
- 2 ]9 J0 D( _% q( l
- # 输出图文
2 `& O+ g; S) K" n& a( C7 b+ S - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|