词云图,又称为文本云或标签云,是一种数据可视化技术。它通过将文本数据中的词汇以视觉化的形式展示出来,帮助人们快速理解文本的主题和关键信息。在词云图中,不同的词汇会以不同的大小、颜色和字体显示,这些视觉元素通常与词汇在文本中出现的频率或重要性相关联。
词云图的基本原理是对文本进行分词处理,然后统计每个词汇的频率或权重。接着,根据这些频率或权重来调整词汇在图中的大小、颜色和位置等视觉属性。这样可以使得出现频率较高或较重要的词汇更加突出,而出现频率较低或较不重要的词汇则相对较小或较不明显。
🏘️🏘️个人主页:以山河作礼。 🎖️🎖️:Python领域新星创作者,CSDN实力新星认证,CSDN内容合伙人,阿里云社区专家博主,新星计划导师,在职数据分析师。
💕💕悲索之人烈焰加身,堕落者不可饶恕。永恒燃烧的羽翼,带我脱离凡间的沉沦。
词云图的原理是通过统计文本数据中词汇的频率,并将这些频率以视觉化的形式表现出来。
- 需要对原始文本进行预处理,包括去除标点符号、停用词过滤等,以确保只保留有意义的词汇。然后,使用分词工具(如jieba库)对处理后的文本进行分词,并统计每个词出现的频率。
- 利用词频数据,使用特定的算法(如字体大小和颜色渐变)来生成词云图。在这一步中,可以选择不同的形状模板,使得词云图呈现出特定的外形。例如,可以使用WordCloud库来创建词云对象,并设置不同的参数来绘制不同形状、颜色和尺寸的词云图。
- 为了提高词云图的可读性和美观性,可以对词汇的布局、颜色和字体进行调整。这样可以使得重要的关键词更加突出,同时也增加了视觉上的吸引力。最终,将优化后的词云图以图片的形式展示出来,使得人们可以直观地看到文本数据中的重点信息。
制作Python文本数据可视化的“词云”图的详细步骤如下:
- 安装必要库:需要安装库,这是专门用于生成词云图的Python库。同时,如果处理的是中文文本,还需要安装库进行中文分词。
- 导入库和模块:在Python脚本中导入、(用于数值计算)和(用于中文分词)等库。
- 准备文本数据:收集并准备需要制作词云图的文本数据。如果是中文文本,使用库进行分词处理,以便更好地统计词频。
- 文本清洗:对文本数据进行清洗,包括去除标点符号、停用词过滤等,以确保只保留有意义的词汇。
- 统计词频:统计清洗后文本中每个词的出现频率。这通常是通过创建一个字典来实现的,其中键是词汇,值是它们出现的次数。
- 生成词云图:使用库中的类来生成词云图。可以通过设置不同的参数来自定义词云图的形状、颜色和尺寸等。
- 显示或保存词云图:最后,可以将生成的词云图显示在屏幕上或者保存为图片文件,以便于进一步的分析和展示。
为了将10家上市公司的“主要业务”词频文件批量生成词云图,我们需要导入所需的库。这些库包括(用于生成词云图)、(用于数值计算)和(用于中文分词)。如果这些库尚未安装,可以使用命令进行安装。
接下来,我们需要准备包含“主要业务”描述的文本数据,并进行必要的预处理,如去除标点符号、过滤停用词等。然后,我们使用库对中文文本进行分词处理,以便更好地统计词频。
在完成文本清洗和分词后,我们创建一个字典来统计每个词的出现频率。这将成为生成词云图的关键数据。
有了词频数据后,我们使用库中的类来生成词云图。在这个过程中,我们可以设置不同的参数来自定义词云图的形状、颜色和尺寸等,使其更符合我们的需求。
最后,我们将生成的词云图显示在屏幕上或者保存为图片文件,以便于进一步的分析和展示。这样,通过查看词云图,我们就可以大致了解每家公司的主要业务是什么,同时在PPT中展示也显得更加高大上。
然后获取所有的Excel词频表路径,以便后续逐一读取,并传入词云库生成词云图。再定义词频背景图,np.array(Image.open())打开图片后转为数组,存入maskImage变量。需要注意词频背景图中想要的形状的背景需要是白色的,不然无法得到想要的词云图形状。比如如下背景图片,左边的图片因为猴子的背景不是白色,做出的词云图会占满整个图片,即是一个矩形的词云图;右边的图片中,猴子的背景是白色的,做出的词云图看起来就是一只猴子的形状。
然后用for循环遍历所有待处理的Excel文件,逐个打开,提取其中的词和词频,存入字典wordFreq。然后通过wordcloud.WordCloud()定义词云样式。这个函数有很多参数,具体如下。我们只需要关注常用的几个即可,其它可作为了解。
这些参数的含义如下:
font_path: 字体文件的路径。 width: 生成的词云图的宽度。 height: 生成的词云图的高度。 margin: 词云图的边距。 ranks_only: 是否只使用词汇的频率排名。 prefer_horizontal: 词汇的水平显示偏好。 mask: 用于定制词云图形状的蒙版图像。 scale: 词汇的大小范围。 color_func: 自定义颜色函数。 max_words: 词云图中最大的词汇数量。 min_font_size: 词云图中最小的字体大小。 stopwords: 需要忽略的停用词列表。 random_state: 随机状态,用于控制随机性。 background_color: 词云图的背景颜色。 max_font_size: 词云图中最大的字体大小。 font_step: 字体大小的步长。 mode: 颜色模式,默认为’RGB’。 relative_scaling: 词汇大小的相对缩放方式。 regexp: 用于过滤词汇的正则表达式。 collocations: 是否启用搭配(短语)的提取。 colormap: 用于映射词汇颜色的颜色映射表。 normalize_plurals: 是否将复数形式归一化为单数形式。 contour_width: 轮廓线的宽度。 contour_color: 轮廓线的颜色。 repeat: 是否重复绘制词汇以增强视觉效果。 include_numbers: 是否包含数字。 min_word_length: 最小词汇长度。 collocation_threshold: 搭配阈值,用于确定哪些词汇可以组成搭配。
此例中,我们调用wordcloud时,设定了字体为“黑体”,使用了背景图为绘图模板,设置了最多显示词数为500,字号最大为100。然后使用generate_from_frequencies()从已有词频数据的字典中生成词云图。然后将词云图按公司名保存到指定路径(“词云图”文件夹)。最后用plt.imshow()在notebook中显示词云图。结果如下。
以上就是本篇文章【4.Python实战小项目—用Python轻松创建词云图】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.glev.cn/quote/8840.html 行业 资讯 企业新闻 行情 企业黄页 同类资讯 网站地图 返回首页 歌乐夫资讯移动站 http://sicmodule.glev.cn/mobile/ , 查看更多