【WordCloud】生成词云

generate_from_frequencies:从频率字典中生成词云

该方法传入统计好的词频字典,例如{'Python': 5, 'Hadoop': 10, 'Spark': 20, '大数据': 5, '人工智能': 2, '数据': 3},然后生成词云。也可以使用collections.Counter()统计列表中出现的词的频率,该方法返回一个字典,例如

import collections

words = ['Python', 'Spark', 'Spark', 'Spark', 'Python', 'Hadoop']
freq = dict(collections.Counter(words))
print(freq)
>>> {'Python': 2, 'Spark': 3, 'Hadoop': 1}
import matplotlib.pyplot as plt
from wordcloud import WordCloud

# 设置格式
wc = WordCloud(width=1024, height=768, background_color='white',
               font_path='STKAITI.TTF', max_font_size=400, random_state=50)
# 从频率字典中生成词云
wc.generate_from_frequencies(
    {'Python': 5, 'Hadoop': 10, 'Spark': 20, '大数据': 5, '人工智能': 2, '数据': 3})
wc.to_file('词云.jpg')
plt.imshow(wc)
plt.show()

在这里插入图片描述

generate或generate_from_text 从字符串中生成词云

该方法需要传入一个字符串,每个词之间用' '空格隔开,

import matplotlib.pyplot as plt
from wordcloud import WordCloud

sentence = '路透社本周早些时候报道,寻求收购 TikTok 的字节跳动投资者对其估值高达500亿美元,\
TikTok在上个月被印度政府封禁后,728日,日本自民党议员联盟也向政府建议禁用TikTok等中国企业App。'
# 删除特殊符号
sentence = re.sub('[\'!"#$%&\'()*+,-./:;<=>?@,。?★、…【】《》?“”‘\'![\\]^_`{|}~\s]+', "", sentence)
# jieba中文分词
words = list(jieba.cut(sentence))
# ['路透社', '本周', '早些时候', '报道', '寻求', '收购', 'TikTok', '的', '字节', '跳动', '投资者',
# '对', '其', '估值', '高达', '500', '亿美元', 'TikTok', '在', '上个月', '被', '印度政府', '封禁',
# '后', '7', '月', '28', '日', '日本自民党', '议员', '联盟', '也', '向', '政府', '建议', '禁用',
# 'TikTok', '等', '中国', '企业', 'App']

# 设置格式
wc = WordCloud(width=1024, height=768, background_color='white',
               font_path='STKAITI.TTF', max_font_size=400, random_state=50)
# 用空格隔开每个词
wc.generate_from_text(' '.join(words)) # 或者 wc.generate(' '.join(words))
wc.to_file('词云.jpg')
plt.imshow(wc)
plt.show()

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值