|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!
您需要 登录 才可以下载或查看,没有账号?注册
x
- k1 @6 M/ }5 P7 \& k) {& ~3 t/ r' W: V: d
hello!大家好,今天张老师来讲解词云的具体应用实例,
z& S( g h- D; X U# [% s, n 词云技术可以帮助我们进行数据分析,数据库静态可视化操作。
' L F4 K v m {6 v1 G 在上课之前请同学们先了解两个优秀的Python第三方库,他们分别是 jieba 和 wordcloud ,
) E' o! d7 g+ x8 u! Z9 L 同学们有知道的吗?知道的同学请举个手! 其实在高中《信息技术》(必修一)中有提到过 jieba 库,这也是高中必修学习的课程,而 wordcloud 库是高中选修课程,好了,废话少说,直接上干货,如果有同学对这两个库还不太了解的,建议先脑补一下,老师提供了这两个库的学习帖子链接,登陆对应的 学习直通车 就可以参加在线学习,今天,老师以《新大榭python学习社区》数据分析为例进行案例讲解,让大家进一步了解 jieba 和 wordcloud 的详细应用及操作。
' a) a, R4 q! K# e9 n9 {- jieba 库 ------------【学习直通车】(高中必修)
) M4 d+ s& d' b& {7 s( i
- wordcloud 库 ----【学习直通车】(高中选修)
' a4 o( |$ N, l& J
3 _5 `9 j$ o6 R; C8 ~& f
下面我们以《新大榭python学习社区》为例进行数据词云效果展示,
* B' s8 f; h- ~5 W' f! W首先下载待分析数据原始本文,注意编码保存为 utf-8 文本格式(text.txt)
6 Z: E+ t- y- |, Q
# g7 p. ^# z- B2 d) ~
* L* t" k3 J" S7 j( J4 p* t1 P图1: 未进行优化处理 - 原版效果图 ↑↑↑
2 {7 w3 u4 G% w+ h5 W ]+ C! T
. v0 P0 S. e+ Q T很明显默认高频词 的 在这里没有意义,所以需要过滤去除,类似的还有像“就”、“与”、“了”、“在”等等;- stop_words = ['的','就','与','了','在']
复制代码 同时通过for循环过滤词汇;把如下原默认代码
( i+ c, M& ~0 |9 X- w.generate(" ".join(jieba.lcut(text)))
复制代码 替换成* w1 d- V$ X( K. `6 _; J2 l
- w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))
复制代码 2 w( ~3 o7 V* w8 A7 f
以上操作就是过滤关键词;
+ d! m9 j4 h2 y3 H. {反之还有一类词,计算器暂没收录,需要我们个性化收录,比如“仑中”,“蓝桥杯”,“第三方库” 等等% H. Q: u/ p: l* Y; }& ]
- jieba.add_word("仑中")
d& R0 Y! l- U - jieba.add_word("蓝桥杯")
4 ? Z" L. n S - jieba.add_word("第三方库")
复制代码
3 u- n5 x! e8 ?; V6 W
# d& `8 `3 X' |, z7 h" C图2: 已进行优化处理 - 效果图 ↑↑↑
. ~& ^9 S8 q6 D
0 g4 R* r- N. g' w- P F通过上述优化处理后我们不难发现数据标签云更加精准、概要,明了。
3 M0 }. J( q5 O这在数据分析统计学上我们称作过滤无效偏离量,使样本数据更准确!
1 K! c( d8 e1 s5 M- f y
% u E4 w; l E X
图3: 已进行优化处理 - 效果图(背景白色) ↑↑↑
5 h! J; A* O( a4 e9 b4 c5 Y" x d8 c' y# |" ^/ [
核心代码片段如下 ↓↓↓
1 G! p' k8 X0 t" G- import jieba
- k1 S& x2 y. Y% r# @ - import wordcloud3 i2 F% K/ @( E# X, I1 C
8 |$ ~: {' @# G4 U4 ^- # 引入数据文本文件
0 t- E; g _: | - text = open('text.txt','r',encoding='UTF-8').read()( I! j6 o1 [) u
: E4 z* j" p X" U- # 设置词云图片大小、字体及背景色(背景色默认黑色)% g+ ~/ V$ L$ m1 U0 ?# s
- w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,background_color="black")! F7 e& A) Y+ `# o
- #w=wordcloud.WordCloud(font_path="C:\\Windows\\Fonts\\simhei.ttf",width=1000,height=700,mode='RGBA',background_color=None) # 白色背景模板
; Q' R; h( p# Z
% k1 `1 I8 R; t7 t2 w' p5 Y- w.generate(" ".join(jieba.lcut(text)))
2 I# e3 G7 E } c - w.to_file("新大榭python学习社区_未优化.png") # 输出未优化词云标签) H3 G& O4 V- N" J. b+ U7 }: d* T
- " ^- s8 h, `! L) U! i7 r
- # 新增关键字词汇) E* d! g& T, |9 \& k
- jieba.add_word("蓝桥杯"). e# M8 J, {% S
- jieba.add_word('仑中')2 l/ H4 ~( ?$ ?1 \- Z# E+ P7 L. p
- jieba.add_word('新高考') y% u9 l0 Y/ F# ]4 f: Z' B
- jieba.add_word('零基础')
) _; o& g+ n, u3 b6 ^ - jieba.add_word('第三方库')
) a: @5 r# f' y' B
) c2 r6 \! y* G7 f# f- # 过滤干扰词汇
* j* p; v# f6 ^0 s( Y6 C( o' g - stop_words = ['以上','来','指由','作为','组','是','级','对学','大','只要','这里','等','你','的','如','有','就','则','均','了','本','但','和','而','被','与','在','或','以','注','如未','仅限','并用','限','将','于','不','物','及','专为','已','端','高']
7 [) |6 P2 C; ^' c$ ^: Z& Z - w.generate(" ".join(k for k in jieba.lcut(text) if k not in stop_words))( a3 F1 Q1 T3 J# _$ }
% a& h/ b. d7 E7 s0 D- # 输出图文
" r' N, E3 o- J6 z, w; @: @- P - w.to_file("新大榭python学习社区_已优化.png") # 同时输出已优化词云标签
复制代码 注:当前课程已收录新大榭网校Python系列自编原创课程(*) |
-
-
7361-01.zip
896.18 KB, 下载次数: 219, 下载积分: 财富 -1 点
课件源代码免费下载
|