大数据基础-词云构建

案例一:

'''
词云就是将噶你兴趣的词语放在一张图像中,通常使用字体的大小来反映出现的频率。
出现的频率越高。词云中的字体越大
'''
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
s1='020赛季中超联赛原本计划在2月底揭幕,因为新冠疫情影响,已经拖延了两个多月时间。' \
   '绝大多数职业俱乐部本就处于长期亏损状态,眼下没有比赛可打,收入更几乎为零。与此同时,' \
   '俱乐部却依然要履行工作合同,向球员和教练支付高昂工资。根据统计,目前薪资支出约占俱乐部运营成本的70%左右.' \
   '为此,中国足协专门同国际足联进行了沟通。此前,国际足联颁布了《关于应对新冠疫情足球管理问题指南》(以下简称《指南》),' \
   '认定新冠疫情为不可抗力,建议俱乐部和球员、教练员在友好协商的基础上合理修订工作合同。国际足联表示,如在薪酬协商和调整过程中' \
   '出现争议,按照《指南》原则对个案进行评估和处理。处理原则包括:友好协商、幅度合理;同时要综合考察俱乐部的经济状况、球员和教练的税' \
   '后收入水平,以及单边决定适用的范围(全队或个人)。'
s2='此次降薪的重要前提是俱乐部与球员、教练员应坚持友好协商,达成共识,同时保护低收入球员和教练员的利益,不鼓励降低或延付他们的薪资。降薪可以' \
   '帮助俱乐部和投资人缓解一定经济压力,维持运营。这也是眼下国际足坛通行的做法,毕竟,面对疫情这只“黑天鹅”,俱乐部的生存才是第一要务,避免' \
   '财务风险,在很大程度上决定着联赛发展的稳定。虽然此次降薪的首要目标是应对疫情冲击。但从长远看,调整俱乐部财务结构,实现财务健康是足球职业' \
   '联赛挤掉泡沫、迈入良性发展之路的必要之举和务实之举。联赛苦高薪久矣,足球深化改革,联赛可持续发展牵涉方方面面,降薪是绕不过的环节。正如中国足' \
   '协主席陈戌源所说:“要以壮士断腕的态度,重新塑造职业联赛的财务体系,不挤掉泡沫,中国足球没有未来。”'
mylist=[s1,s2];
# 将s1,s2做成列表
word_list=[" ".join(jieba.cut(sentence)) for sentence in mylist ];
# 遍历列表,然后将其做成分词后做成列表
new_text=' '.join(word_list);
# 将分词后的元素用空格为分割符拼接,便于计算词频
woldcloud=WordCloud(font_path='simhei.ttf',background_color='black').generate(new_text);
# 设置词云的字体和背景颜色
plt.imshow(woldcloud);
# plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示。
plt.axis("off");
# 坐标轴不可见
plt.show()
# 显示图像
woldcloud.to_file('hello.png')
# 保存图片

在这里插入图片描述

案例二:

import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text=open(r'pachong.txt',encoding='utf-8');
mylist=list(text);
word_list=[''.join(jieba.cut(sentence)) for sentence in mylist];
new_text=' '.join(word_list);
wordcloud=WordCloud(font_path='simhei.ttf',background_color='black').generate(new_text);
plt.imshow(wordcloud);
plt.axis("off");
plt.show()
wordcloud.to_file('词云.png')

在这里插入图片描述

具有轮廓的词云

'''
首先对文本进行分词
import jieba
jieba.cut(comntent,cut_all=True)
content就是需要分词的文本,cut_all将文本中的词都分割出来
然后构建词云
'''
import jieba
from wordcloud import WordCloud
from scipy.misc import imread
import matplotlib.pyplot as plt
content=open(r'pachong.txt',encoding='utf-8');
mylist=list(content);
word_list=[' '.join(jieba.cut(sentence)) for sentence in mylist];
new_list=' '.join(word_list);
read_image=imread('apchong.png');
wc=WordCloud(font_path='simhei.ttf',background_color='white',max_words=2000,mask=read_image).generate(new_list)
plt.imshow(wc);
plt.axis('off');
plt.show()
wc.to_file('孩子.png');
'''
WordCloud包的基本用法:
        font_path:用来设置图像中的字体
        width:设置图像的宽度,height:用来设置图像的高度
        margin:画布偏移,词语边缘距离,默认是两个像素
        mask:用于填充的图像,如果为空的话,则表示全白
        max_words:要显示词的最大个数
        background_color:表示背景颜色,默认为白色
        
关于词云的方法有:
        generate(text)//根据文本生成词云
        fit_words(frequencies)//根据词频生成词云
        to_file(filename)//输出到文件
        to_array()//转化为数组
        


'''

在这里插入图片描述

通过词频形成ed词云

import jieba
from wordcloud import WordCloud
from scipy.misc import imread
import matplotlib.pyplot as plt
from collections import Counter
content = open(r'pachong.txt', encoding='utf-8');
mylist = list(content);
word_list = [' '.join(jieba.cut(sentence)) for sentence in mylist];
new_list = ' '.join(word_list);
con_words=[x for x in jieba.cut(new_list) if len(x) >= 2]
frequents=Counter(con_words).most_common()
frequents=dict(frequents)
read_image = imread('apchong.png');
wc = WordCloud(font_path='simhei.ttf', background_color='white', max_words=2000, mask=read_image).fit_words(frequents)
plt.imshow(wc);
plt.axis('off');
plt.show()
wc.to_file('孩子_1.png');

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值