首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用 Python 绘制词云图?

大家好,我是张大鹏,今天又来给大家分享技术文章了。

今天要给大家分享的是如何使用 Python 制作词云图。

作为 NLP 中最简单的部分,非常适合大家作为入门 NLP 自然语言处理的案例。

先上效果图:

在制作词云图之前说一下需求,我们有非常多的新闻文章,我们想要从这些新闻文章中分析出现频率最多的关键字是什么,然后按照关键字出现的频率绘制出词云图。

先来说说整体的步骤:

导入依赖包

配置matplotlib

导入新闻数据

删除空数据

分词

去停用词

统计词频

做词云

导入依赖包的代码如下:

import jieba  # 分词包

import numpy  # numpy计算包

import pandas as pd

import matplotlib.pyplot as plt

import matplotlib

from wordcloud import WordCloud  # 词云包

matplotlib的配置代码如下:

matplotlib.rcParams['figure.figsize'] = (10.0, 5.0)

读取新闻数据的代码如下:

df = pd.read_csv("../data/entertainment_news.csv", encoding='utf-8')

删除空数据的代码如下:

分词的代码如下:

segment = []

for line in content:

   try:

       segs = jieba.lcut(line)  # 分词

       for seg in segs:

           if len(seg) > 1 and seg != '\r\n':

               segment.append(seg)

   except:

       print(line)

       continue

去除停用词的代码如下:

words_df = pd.DataFrame({'segment': segment})

stopwords = pd.read_csv("../data/stopwords.txt", index_col=False, quoting=3, sep="\t", names=['stopword'],

                       encoding='utf-8')  # quoting=3全不引用

words_df = words_df[~words_df.segment.isin(stopwords.stopword)]

统计词频的代码如下:

words_stat = words_df.groupby('segment').agg({"segment": numpy.size}).rename(columns={'segment': '计数'})

words_stat = words_stat.reset_index().sort_values(by=["计数"], ascending=False)

print(words_stat.head())

做词云的代码如下:

wordcloud = WordCloud(font_path="../data/simhei.ttf", background_color="white", max_font_size=80)

word_frequence =

wordcloud = wordcloud.fit_words(word_frequence)

plt.imshow(wordcloud)

plt.show()

最终效果图如下:

以上就是今天要分享的全部内容了,谢谢大家~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230603A016QA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券