WordCloud去掉停用词(fit_words+generate)的2种用法

-------------词云图集合-------------

WordCloud去掉停用词(fit_words+generate)的2种用法

通过词频来绘制词云图(jieba+WordCloud)

Python教程95:去掉停用词+词频统计+jieba.tokenize示例用法

将进酒—李白process_text词频统计,及词频可视化分析

使用wordcloud模块,绘制一个自定义的词云图形状

使用WordCloud模块中repeat参数,做一个关键字重复的词云图

关于词云图显示异常,出现乱码的解决办法

盘点WordCloud模块,词云图的相关知识点

Python源码05:使用Pyecharts画词云图图

在WordCloud中去掉停用词,可以通过设置stopwords参数来实现,也可以通过下面字典数据的过滤方法来去掉不想要的词语。停用词是指在文本中频繁出现但对文本含义贡献很小的词语,如虚词、助词、介词、连词等。下面写的2个例子,可以给大家参考一下。

1.W.generate通常结合stopwords过滤停用词的方法,运行代码就会生成如下图。可以看到原文本(杨过是欧阳锋的义子,他的黯然销魂掌,可以和郭靖的降龙十八掌媲美),文本里面的 是,和,的,它等需要都被去掉了。
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import jieba
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt# 1.读取文本
text = '杨过是欧阳锋的义子,他的黯然销魂掌,可以和郭靖的降龙十八掌媲美。'
print('1.原文本:'.center(50, '-'))
print(text)
# 2.分词
cut_word = jieba.cut(text, cut_all=False)
cut_word = ' '.join(cut_word)
print('2.jieba分词后的内容:'.center(50, '-'))
print(cut_word)
# 3.准备停用词表
stopwords = set(STOPWORDS)
print('3.WordCloud自带的英文停用词表:'.center(50, '-'))
print(stopwords)
# 自定义添加停用词
stopwords.add('是')
stopwords.add('的')
stopwords.add('和')
stopwords.add('他')
stopwords.add('可以')# 4.创建WordCloud对象并生成词云,stopwords=stopwords,
w = WordCloud(background_color='WHITE', stopwords=stopwords, height=400,width=700, font_path='simkai.ttf')w.generate(cut_word)
# 5.保存词云图图片
w.to_file('cloud.png')
# 显示词云图
plt.imshow(w)
plt.axis('off')
plt.show()
print('词云图生成完成。')

输出内容:

----------------------1.原文本:----------------------
杨过是欧阳锋的义子,他的黯然销魂掌,可以和郭靖的降龙十八掌媲美。
------------------2.jieba分词后的内容:------------------
杨过 是 欧阳锋 的 义子 , 他 的 黯然销魂 掌 , 可以 和 郭靖 的 降龙十八掌 媲美 。
--------------3.WordCloud自带的英文停用词表:---------------
{"you'll", "doesn't", 'yourself', 'after', 'by', "we're", 'other', 'and', 'just', 'this', "when's", 'hence', 'own', 'ours', 'myself', "won't", 'otherwise', 'what', 'on', 'can', 'else', "we'll", 'k', 'him', "haven't", "they'll", "she's", "i'd", 'there', 'itself', 'of', "you've", "there's", 'herself', 'off', 'his', 'once', "that's", 'very', 'was', 'ever', 'would', 'until', 'why', 'me', 'had', "where's", 'does', 'over', 'shall', 'if', 'since', "what's", 'a', 'some', 'the', "shouldn't", 'we', 'where', 'any', 'an', 'she', 'them', "hadn't", "he'll", "he's", 'who', "it's", 'he', 'ourselves', 'also', 'you', 'most', 'were', "i'll", 'r', 'with', 'at', 'yourselves', 'have', 'when', 'www', "mustn't", 'about', 'up', 'did', "let's", 'are', 'few', 'be', 'being', 'too', 'their', 'cannot', 'more', 'to', "here's", "why's", 'having', "didn't", 'hers', 'no', 'in', 'under', 'how', 'again', "he'd", 'her', 'so', "they're", "she'll", 'against', 'however', 'my', "couldn't", "i'm", "wouldn't", "she'd", "aren't", 'been', 'above', 'before', 'those', "we'd", 'such', "hasn't", "isn't", 'not', 'only', 'http', "they'd", 'nor', 'because', 'i', "you'd", 'which', 'they', "who's", 'it', 'could', 'into', "can't", 'out', 'while', 'down', "how's", 'ought', 'am', "don't", 'each', 'himself', 'through', "i've", 'whom', 'from', 'is', 'therefore', 'themselves', 'our', 'all', 'but', 'same', "shan't", "you're", 'as', 'between', 'has', 'then', "we've", 'both', 'its', 'these', 'should', 'like', 'or', "they've", 'do', 'theirs', "weren't", 'below', 'yours', 'com', 'for', 'than', 'here', 'get', 'that', "wasn't", 'your', 'further', 'doing', 'during'}

2.通过w.fit_words(参数为字典类型)+Counter(参数可以是字符串,也可以是可迭代的对象,返回字典类型)+jieba(参数是字符串,返回是generator类型)。下面代码中会按照关键字+词频的阈值去自定义过滤,不符合条件的词频(和字典数据知识点的用法一样),以上2种处理过滤的结果是一样。个人觉得使用w.fit_words比W.generate生成词云图,要更直观一点,因为它可以根据词频的大小,在词云图上反应出字体的大小。简单说某个词频非常高,那么它的字号在词云图上显示的就越大。


# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
import re
import jieba
from collections import Counter
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt# 1.读取文本
text = '杨过是欧阳锋的义子,他的黯然销魂掌,可以和郭靖的降龙十八掌媲美。'
# 使用正则,只取中文的字符,过滤英文数字,各种标点符号等等
text = re.findall('[\u4e00-\u9fff]+', text)
text = ''.join(text)
print('1.只取中文文本:'.center(50, '-'))
print(text)
# 2.分词
cut_word = jieba.cut(text, cut_all=False)
word_freq = Counter(cut_word)
print('2.过滤前的分词词频:'.center(50, '-'))
print(word_freq)# 自定义定义过滤条件
min_freq = 0  # 最小词频阈值
exclude_words = {'是', '的', '和', '可以', '他'}  # 要排除的词列表# 过滤词频字典
filtered_word_freq = {word: freq for word, freq in word_freq.items()if freq >= min_freq and word not in exclude_words}print('3.过滤后词频:'.center(50, '-'))
print(filtered_word_freq)# 4.创建WordCloud对象并生成词云
w = WordCloud(background_color='WHITE', height=400, width=700,font_path='simkai.ttf')w.fit_words(filtered_word_freq)
# 5.保存词云图图片
w.to_file('cloud.png')
# 显示词云图
plt.imshow(w)
plt.axis('off')
plt.show()
print('词云图生成完成。')

输出内容:

--------------------1.只取中文文本:---------------------
杨过是欧阳锋的义子他的黯然销魂掌可以和郭靖的降龙十八掌媲美
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\Ms-xiao\AppData\Local\Temp\jieba.cache
Loading model cost 1.151 seconds.
Prefix dict has been built successfully.
--------------------2.过滤前的词频:---------------------
Counter({'的': 3, '杨过': 1, '是': 1, '欧阳锋': 1, '义子': 1, '他': 1, '黯然销魂': 1, '掌': 1, '可以': 1, '和': 1, '郭靖': 1, '降龙十八掌': 1, '媲美': 1})
---------------------3.过滤后词频:---------------------
{'杨过': 1, '欧阳锋': 1, '义子': 1, '黯然销魂': 1, '掌': 1, '郭靖': 1, '降龙十八掌': 1, '媲美': 1}
词云图生成完成。

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷刷题日记12||图的遍历

反向建边 dfs 按题目来每次考虑每个点可以到达点编号最大的点,不如考虑较大的点可以反向到达哪些点 循环从N到1,则每个点i能访问到的结点的A值都是i 每个点访问一次,这个A值就是最优的,因为之后如果再访问到这个结点那么答案肯…

vscode查找函数调用

在 VS Code 中,要查找 C 语言函数的调用列表,有以下几种方法可以使用,具体取决于项目的规模和你的需求: 方法 1: 使用全局查找功能 步骤: 打开全局查找: 按 CtrlShiftF (Windows/Linux) 或 CmdShiftF (Ma…

替代Postman ,17.3K star!

现在,许多人都朝着全栈工程师的方向发展,API 接口的编写和调试已成为许多开发人员必备的技能之一。 工欲善其事,必先利其器。拥有一款优秀的 API 工具对于任何工程师来说都是极为重要的,它能够帮助我们高效地完成各种开发任务。 …

java:拆箱和装箱,缓存池概念简单介绍

1.基本数据类型及其包装类: 举例子: Integer i 10; //装箱int n i; //拆箱 概念: 装箱就是自动将基本数据类型转换为包装器类型; 拆箱就是自动将包装器类型转换为基本数据类型; public class Main {public s…

Node.js的url模块与querystring模块

新书速览|Vue.jsNode.js全栈开发实战-CSDN博客 《Vue.jsNode.js全栈开发实战(第2版)(Web前端技术丛书)》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 4.3.1 http模块——创建HTTP服务器、客户端 要使用http模块&#xff0…

【Reinforcement Learning】强化学习下的多级反馈队列(MFQ)算法

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

SpringBoot(三十九)SpringBoot集成RabbitMQ实现流量削峰添谷

前边我们有具体的学习过RabbitMQ的安装和基本使用的情况。 但是呢&#xff0c;没有演示具体应用到项目中的实例。 这里使用RabbitMQ来实现流量的削峰添谷。 一&#xff1a;添加pom依赖 <!--rabbitmq-需要的 AMQP 依赖--> <dependency><groupId>org.springfr…

异步编程在ArkTS中具体怎么实现?

大家好&#xff0c;我是 V 哥&#xff0c;很好奇&#xff0c;在ArkTS中实现异步编程是怎样的&#xff0c;今天的内容来聊聊这个问题&#xff0c;总结了一些学习笔记&#xff0c;分享给大家&#xff0c;在 ArkTS中实现异步编程主要可以通过以下几种方式&#xff1a; 1. 使用asy…

Pytorch使用手册-Build the Neural Network(专题五)

在 PyTorch 中如何构建一个用于 FashionMNIST 数据集分类的神经网络模型,并解析了 PyTorch 的核心模块 torch.nn 的使用方法。以下是具体内容的讲解: 构建神经网络 在 PyTorch 中,神经网络的核心在于 torch.nn 模块,它提供了构建神经网络所需的所有工具。关键点如下: nn.…

【linux】服务器加装硬盘后如何将其设置为独立硬盘使用

【linux】服务器加装硬盘后如何将其设置为独立硬盘使用 问题描述&#xff1a;本服务器原本使用了两个硬盘作为存储硬盘&#xff0c;同时对这两个硬盘设置了raid1阵列。现在内存不足要进行加载硬盘&#xff0c;新加载的硬盘不设置为raid1&#xff0c;而是将新加装的两个硬盘作为…

亚信安全与飞书达成深度合作

近日&#xff0c;亚信安全联合飞书举办的“走近先进”系列活动正式走进亚信。活动以“安全护航信息化 共筑数字未来路”为主题&#xff0c;吸引了众多数字化转型前沿企业的近百位领导参会。作为“走近先进”系列的第二场活动&#xff0c;本场活动更加深入挖掘了数字化转型的基础…

TMS FNC UI Pack 5.4.0 for Delphi 12

TMS FNC UI Pack是适用于 Delphi 和 C Builder 的多功能 UI 控件的综合集合&#xff0c;提供跨 VCL、FMX、LCL 和 TMS WEB Core 等平台的强大功能。这个统一的组件集包括基本工具&#xff0c;如网格、规划器、树视图、功能区和丰富的编辑器&#xff0c;确保兼容性和简化的开发。…

Transformer详解及衍生模型GPT|T5|LLaMa

简介 Transformer 是一种革命性的神经网络架构&#xff0c;首次出现在2017年的论文《Attention Is All You Need》中&#xff0c;由Google的研究团队提出。与传统的RNN和LSTM模型不同&#xff0c;Transformer完全依赖于自注意力&#xff08;Self-Attention&#xff09;机制来捕…

11超全局变量php

超级全局变量是指在php任意脚本下都可以使用 PHP 超级全局变量列表: $GLOBALS&#xff1a;是PHP的一个超级全局变量组&#xff0c;在一个PHP脚本的全部作用域中都可以访问。 $_SERVER&#xff1a;$_SERVER 是一个PHP内置的超级全局变量,它是一个包含了诸如头信息(header)、路…

Git(一)基本使用

目录 一、使用git -v 查看安装git版本 二、使用mkdir 创建一个文件&#xff0c;并使用 git init 在该目录下创建一个本地仓库&#xff0c; 三、通过git clone命令接入线上仓库 四、使用git status查看仓库状态信息 五、利用echo写入一个文件 并使用cat进行查看 【Linux】e…

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数 微信公众平台添加配置 微信公众平台 > 开发管理 > 开发设置 > 扫普通链接二维码打开小程序 配置链接规则需要下载校验文档给后端存入服务器中&#xff0c;保存配置的时候会校验一次&#xff0c;确定当前的配…

Vercel 设置自动部署 GitHub 项目

Vercel 设置自动部署 GitHub 项目 问题背景 最近 Vercel 调整了其部署政策&#xff0c;免费版用户无法继续使用自动部署功能&#xff0c;除非升级到 Pro 计划。但是&#xff0c;我们可以通过配置 Deploy Hooks 来实现同样的自动部署效果。 解决方案 通过设置 Vercel 的 Dep…

商业物联网:拥抱生产力的未来

在现代商业格局中&#xff0c;数据占据至高无上的地位。物联网&#xff08;IoT&#xff09;站在这场数字革命的前沿&#xff0c;将以往模糊不清的不确定因素转变为可衡量、可付诸行动的深刻见解。物联网技术为日常物品配备传感器与连接功能&#xff0c;使其能够实时收集并传输数…

金融租赁系统助力企业升级与风险管理的新篇章

内容概要 在当今的商业环境中&#xff0c;“金融租赁系统”可谓是企业成功的秘密武器。简单来说&#xff0c;这个系统就像一位聪明的财务顾问&#xff0c;帮助企业在资金和资源的运用上达到最优化。从设备采购到项目融资&#xff0c;它提供了一种灵活的方式&#xff0c;让企业…

梧桐数据库的高效索引技术研究及实现

1.基于LSM算法的高效索引研究 基于LSM&#xff08;Log-Structured Merge-Tree&#xff09;算法的高效索引研究主要是针对如何提高LSM算法在处理大规模数据时的查询效率而展开的。以下是几个可能的研究方向&#xff1a; &#xff08;1&#xff09;索引数据结构优化&#xff1a;…