Python学习之wordcloud库的使用以及政府工作报告词云(十六)

wordcloud库的使用

wordcloud库的基本介绍

wordcloud库的概述

wordcloud是优秀的词云展示的第三方库

词云以词语为基本单位,更加直观和艺术的展示文本。

wordcloud库的安装

pip install wordcloud

wordcloud库的使用说明

wordcloud库的基本使用

wordcloud库把词云当作一个WordCloud对象

w = wordcloud.WordCloud()
  • wordcloud.WordCloud()代表一个文本对应的词云
  • 可以根据文本中词语出现的频率等参数绘制词云
  • 词云的形状、尺寸和颜色都可以设定

wordcloud库的常规方法

  • 以WordCloud对象为基础
  • 配置参数、加载文本、输出文件

在这里插入图片描述

示例

  • 步骤1:配置对象参数
  • 步骤2:加载词云文本
  • 步骤3:输出词云文件
import wordcloud
c = wordcloud.WordCloud()
c.generate("wordcloud by python")
c.to_file("pywordcloud.png")

从文本到图片,wordcloud做了哪些事情呢?

  • 分隔:以空格分隔单词
  • 统计:单词出现次数并过滤
  • 字体:根据统计配置字号
  • 布局:颜色环境尺寸

wordcloud配置对象参数

w = wordcloud.WordCloud(<参数>)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#指定词云形状,默认为长方形,需要引用imread()函数
from scipy.misc import imread 
mk = imread("pic.png")
w = wordcloud.WordCloud(mask = mk)

wordcloud应用实例

示例一

import wordcloud
txt = "life is short, you need python"
w = wordcloud.WordCloud( \
	background_color = "white")
w.generate(txt)
w.to_file("d:/pywordcloud.png")

在这里插入图片描述
示例二

import jieba
import wordcloud
txt = "程序设计语言是计算机能够理解和\
识别用户操作意图的一种交互体系,它按照\
特定规则组织计算机指令,使计算机能够自\
动进行各种运算处理。"
w = wordcloud.WordCloud( width = 1000, \
    font_path = "msyh.ttc", height = 700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("d:/zhongwenciyun.jpg")

在这里插入图片描述

政府工作报告词云

问题分析

直观理解政策文件

  • 需求:对于政府工作报告等政策文件,如何直观理解?
  • 体会直观的价值:生成词云 & 优化词云
  • 政府工作报告等文件 —> 有效展示的词云

基本思路

  • 步骤1:读取文件,分词整理
  • 步骤2:设置并输出词云
  • 步骤3:观察结果,优化迭代

示例

示例一

#GovRptWordCloudv1.py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见.txt", "r", encoding="utf-8")
#f = open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = "".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttc", width = 1000, height = 700, background_color = "white",)
w.generate(txt)
w.to_file("grwordcloud.png")

在这里插入图片描述

在这里插入图片描述

示例二(增加参数max_words=15)

#GovRptWordCloudv2.py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见.txt", "r", encoding="utf-8")
#f = open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = "".join(ls)
w = wordcloud.WordCloud(max_words = 15, font_path = "msyh.ttc", width = 1000, height = 700, background_color = "white")
w.generate(txt)
w.to_file("grwordcloud.png")

在这里插入图片描述

在这里插入图片描述

示例三(增加形状mask = mask)

#GovRptWordCloudv3.py
import jieba
import wordcloud
from scipy.misc import imread
mask = imread("fivestart.png")
f = open("关于实施乡村振兴战略的意见.txt", "r", encoding="utf-8")
#f = open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = "".join(ls)
w = wordcloud.WordCloud(font_path = "msyh.ttc",mask = mask, width = 1000, height = 700, background_color = "white")
w.generate(txt)
w.to_file("grwordcloud.png")

在这里插入图片描述
在这里插入图片描述

举一反三

扩展能力

  • 了解wordcloud更多参数,扩展词云能力
  • 特色词云:设计一款属于自己的特色词云风格
  • 更多文件:用更多文件练习词云生成

附件

链接: 关于实施乡村振兴战略的意见.txt
链接: 新时代中国特色社会主义.txt
链接: chinamap.jpg
链接: fivestars.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用 python 语言wordcloud 绘制词云图时,你可以先导入所需的: ```python from wordcloud import WordCloud import matplotlib.pyplot as plt ``` 然后,你需要准备数据,可以使用 Pandas 的 DataFrame 来组织数据。例如: ```python import pandas as pd # 假设你有一个包含文本的 DataFrame,列名为 "text" df = pd.DataFrame({"text": ["this is a text", "another text"]}) ``` 接下来,你可以使用 DataFrame 的 "apply" 方法来处理每一行文本,例如分词、去停用词等。最后,你可以使用 wordcloud 中的 `WordCloud` 类来绘制词云图: ```python def process_text(text): # 处理文本的函数,这里仅做示例 return text # 将每一行文本都传入处理函数,得到一个新的列 "processed" df["processed"] = df["text"].apply(process_text) # 将所有文本拼接起来,形成一个大的字符串 all_text = " ".join(df["processed"]) # 生成词云wordcloud = WordCloud().generate(all_text) # 绘制图像 plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() ``` 希望这能帮到你! ### 回答2: DataFrame是pandas中的一个重要的数据结构,可以将数据按照类似于表格的形式进行存储和操作。它由行索引和列索引组成,每一列都可以是不同类型的数据。 在Python中,我们可以使用wordcloud来绘制词云图,通过可视化展示文本数据中词汇的频率和重要性。绘制词云图的过程包括以下几个步骤: 1. 导入所需的:首先要导入pandaswordcloud,分别用于处理数据和绘制词云图。可以使用如下代码导入: ```python import pandas as pd from wordcloud import WordCloud ``` 2. 读取数据:使用pandas中的read_csv函数读取数据文件,将其转换为DataFrame对象,例如: ```python data = pd.read_csv('data.csv') ``` 3. 数据预处理:对于文本数据,通常需要进行一些预处理,例如去除停用词、标点符号和数字,将所有词转换为小写等操作。可以使用nltk或者自定义函数来进行数据预处理。 4. 统计词频:通过DataFrame的groupby函数将文本数据进行分组,统计每个词的频率。将统计结果保存为一个新的DataFrame对象。 5. 绘制词云图:使用WordCloud中的WordCloud函数创建一个词云对象,设置一些参数,例如词云的大小、字体、背景颜色等。然后使用该对象的generate_from_frequencies方法将词频数据传入,并使用to_image方法将词云图生成为图像。可以使用如下代码进行词云图的绘制: ```python wordcloud = WordCloud(width=800, height=400, background_color='white', font_path='SimHei.ttf').generate_from_frequencies(frequency) wordcloud.to_image() ``` 以上就是使用Python对关键词DataFrame和wordcloud绘制词云图的简要介绍。通过这样的方法,我们可以直观地展示文本数据中关键词的重要性和出现频率,从而更好地理解和分析数据。 ### 回答3: DataFrame是pandas中的一种数据结构,类似于表格或电子表格。它可以用于存储和处理二维数据,支持行和列的索引,方便进行数据的筛选、统计和可视化。 而wordcloud是一个Python第三方,可以用来生成词云图。词云图是一种可视化的方式,将文本数据中出现频率较高的词汇以图形化的形式展示,更直观地显示文本的关键词和分布情况。 使用wordcloud绘制词云图的基本步骤如下: 1. 导入所需的:首先,需要导入pandas读取数据,并导入wordcloud生成词云图。 2. 准备数据:将需要生成词云图的文本数据存储在DataFrame中。 3. 数据处理:根据需要,可以进行文本清洗、分词等处理,以便更好地生成词云图。例如,可以使用正则表达式去除标点符号或停用词。 4. 生成词云图:使用wordcloud中的WordCloud类创建一个词云对象,并为其指定相应的参数,如字体、背景颜色、最大词数等。然后,使用generate方法传入处理后的文本数据,生成词云图。 5. 可视化:使用matplotlib显示生成的词云图。 综上所述,通过使用DataFrame存储文本数据,并结合wordcloud绘制词云图,可以方便地展示文本数据中的关键词和频率分布情况,使数据更加直观。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值