二级python——词云wordcloud库

∥☆過路亽.° 提交于 2020-03-01 16:30:13

wordcloud库

  • 词云:专门用于根据文本生成词云
  • wordcloud默认会将空格标点当作分隔符

wordcloud.WordCloud()

对于中文文本,先将其jieba拆分(返回的是列表),再用空格进行拼接
在这里插入图片描述
在这里插入图片描述

红楼梦词云

import jieba
f = open('红楼梦.txt', 'r')
txt = f.read()
f.close()

words = jieba.lcut(t)
counts = {}
for word in words:
    if len(word) == 1: # 排出单个字符的分词结果
        continue
    else:
        counts[word] == counts.get(word, 0) + 1

items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word, count)

在这里插入图片描述

import jieba
from wordcloud import WordCloud

f = open("红楼梦.txt", 'r')
txt = f.read()
f.close()
words = jieba.lcut(txt)
newtxt = ' '.join(words)
wordcloud = WordCloud(background_color='white',width=800, height=600,
                      font_path='mysh.ttc', max_words=200, max_font_size=80,
                     ).generate(newtxt)
wordcloud.to_file('红楼梦词云.png')

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!