wordcloud库和jieba库的使用

文章目录

  • wordcloud库的简单示范
  • 使用wordcloud库报错记录
  • anaconda安装第三方jieba库
  • jieba库的简单示范
  • 任务 1:三国演义中的常见词汇分布在“三国"这两个隶书字上,出现频率高的词字体大
  • 任务 2:三国演义中出现频率前十的人名。必须是以下这十个名字,名字组成心形

wordcloud库的简单示范

from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
from PIL import Image
import numpy as nptxt = "Python Java C++ JavaScript PHP Ruby Swift Kotlin Go Rust"     # 示例文本# 创建词云对象,配置参数
c = WordCloud(width=400,height=400,font_path=None,repeat=True, # 表示单词是否可以重复出现mask=np.array(Image.open("love.png")), # 给词云生成轮廓用的参数,不需要做成轮廓的背景应为白色background_color="white", # 背景颜色max_words=150 # 词云的最大单词数
)
c.generate(txt)  # 指定词云的文本文件
c.to_file("词云图.jpg")    # 将生成的词云文件输入到一个文件中

使用wordcloud库报错记录

在使用wordcloud库的时候,运行报错:ValueError: Only supported for TrueType fonts

解决方案:去升级pillow库!!!

anaconda安装第三方jieba库

  1. 打开Anaconda Prompt,并进入目标环境。输入 activate 环境名
  2. 输入 pip install jieba
  3. 如果因为网络原因而下载失败,可使用清华大学镜像(99.9%解决下载失败问题):
    pip install 名称 -i https://pypi.tuna.tsinghua.edu.cn/simple

jieba库的简单示范

import jiebas = "中国是一个伟大的国家"s1 = jieba.lcut(s) # 精确模式
print(s1)s2 = jieba.lcut(s, cut_all=True) # 全模式
print(s2)s3 = jieba.lcut_for_search(s) # 搜索引擎模式
print(s3)# jieba.add_word(str)   向分词词典添加新词 str

任务 1:三国演义中的常见词汇分布在“三国"这两个隶书字上,出现频率高的词字体大

from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
from PIL import Image
import numpy as np
from jieba import *def getText(filename):text = open("{}".format(filename), encoding='utf-8').read()sign = '''!~·@¥……*“”‘’\n(){}【】;:"'「,」。-、?\u3000\ufeff'''for ch in sign: # 特殊符号替换成空格text = text.replace(ch, ' ')return textdef wordCount(text, N):words = lcut(text) # 精确分词counts = {} # 字典类型for word in words:if len(word) < 2:continueif word not in counts:counts[word] = 0else:counts[word] += 1temp = sorted(counts.items(), key=lambda d: d[1], reverse=True) # 按计数值逆序排序result = dict(temp[1:N+1])return resultdef drawWordCloud(data, N):# 创建词云对象,配置参数c = WordCloud(width=400,height=400,font_path="C:\Windows\Fonts\STXINGKA.TTF", # 设置字体repeat=False,  # 表示单词是否可以重复出现mask=np.array(Image.open("三国.png")),  # 给词云生成轮廓用的参数,不需要做成轮廓的背景应为白色background_color="white",  # 背景颜色max_words=N  # 词云的最大单词数)result_str = ' '.join(data.keys())c.generate(result_str)  # 指定词云的文本文件c.to_file("自制结果1.jpg")  # 将生成的词云文件输入到一个文件中if __name__ == '__main__':N = 200text = getText('三国演义utf8.txt')result = wordCount(text, N)drawWordCloud(result, N)

运行结果:

在这里插入图片描述

任务 2:三国演义中出现频率前十的人名。必须是以下这十个名字,名字组成心形

十个名字:刘备、赵云、关羽、周瑜、曹操、孔明、孙权、司马懿、张飞、吕布

from wordcloud import WordCloud
from wordcloud import ImageColorGenerator
from PIL import Image
import numpy as np
from jieba import *def getText(filename):text = open("{}".format(filename), encoding='utf-8').read()sign = '''!~·@¥……*“”‘’\n(){}【】;:"'「,」。-、?\u3000\ufeff'''for ch in sign: # 特殊符号替换成空格text = text.replace(ch, ' ')return textdef wordCount(text, N):words = lcut(text) # 精确分词counts = {} # 字典类型name = ["刘备", "赵云", "关羽", "周瑜", "曹操", "孔明", "孙权", "司马懿", "张飞", "吕布"]for word in words:if word in name:if word not in counts:counts[word] = 0else:counts[word] += 1else:continuetemp = sorted(counts.items(), key=lambda d: d[1], reverse=True) # 按计数值逆序排序result = dict(temp[:N])return resultdef drawWordCloud(data, N):# 创建词云对象,配置参数c = WordCloud(width=400,height=400,font_path="C:\Windows\Fonts\STXINGKA.TTF", # 设置字体repeat=False,  # 表示单词是否可以重复出现mask=np.array(Image.open("love.png")),  # 给词云生成轮廓用的参数,不需要做成轮廓的背景应为白色background_color="white",  # 背景颜色max_words=N  # 词云的最大单词数)result_str = ' '.join(data.keys())c.generate(result_str)  # 指定词云的文本文件c.to_file("自制结果2.jpg")  # 将生成的词云文件输入到一个文件中if __name__ == '__main__':text = getText('三国演义utf8.txt')result = wordCount(text, 10)drawWordCloud(result, 10)

运行结果:

在这里插入图片描述

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

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

相关文章

ES的一些名称和概念总结

概念 先看看ElasticSearch的整体架构&#xff1a; 一个 ES Index 在集群模式下&#xff0c;有多个 Node &#xff08;节点&#xff09;组成。每个节点就是 ES 的Instance (实例)。每个节点上会有多个 shard &#xff08;分片&#xff09;&#xff0c; P1 P2 是主分片, R1 R2…

伊恩·斯图尔特《改变世界的17个方程》毕达哥拉斯定理笔记

它告诉我们什么&#xff1f; 直角三角形的三个边之间有什么关系。 为什么重要&#xff1f; 它提供了几何和代数之间的重要联系&#xff0c;使我们能够根据坐标计算距离。它也催生出了三角学。 它带来了什么&#xff1f; 测绘、导航&#xff0c;以及较近代出现的狭义和广义相对论…

无法解析的外部符号_WinMain@16

错误示例&#xff1a; #include <Windows.h>int main() {return 0; } 正确示例1&#xff1a; 控制台&#xff1a; #include <Windows.h>int main() {return 0; } 正确示例2&#xff1a; Windows窗口 #include <Windows.h>int WINAPI wWinMain(HINSTANC…

微信小程序如何实现点击上传图片功能

如下所示,实际需求中常常存在需要点击上传图片的功能,上传前显示边框表面图片显示大小,上传后将图形缩放到边框大小。 实现如下: .wxml <view class="{{img_src==?blank-area:}}" style="width:100%;height:40%;display:flex;align-items: center;jus…

MySQL原理(三)锁定机制(1)综述

一、介绍&#xff1a; 1、锁的本质 业务场景中存在共享资源&#xff0c;多个进程或线程需要竞争获取并处理共享资源&#xff0c;为了保证公平、可靠、结果正确等业务逻辑&#xff0c;要把并发执行的问题变为串行&#xff0c;串行时引入第三方锁当成谁有权限来操作共享资源的判…

探索智能巡检机器人深度学习的奥秘

机器人深度学习&#xff08;Robot Deep Learning&#xff09;是指利用深度学习技术&#xff0c;使机器人能够从大量数据中学习和提取特征&#xff0c;进而实现自主感知、决策和行动的能力。通过深度学习算法&#xff0c;机器人可以从传感器获取的数据中自动学习模式和规律&…

flask基于python的个人理财备忘录记账提醒系统vue

在当今高度发达的信息中&#xff0c;信息管理改革已成为一种更加广泛和全面的趋势。 “备忘记账系统”是基于Mysql数据库&#xff0c;在python程序设计的基础上实现的。为确保中国经济的持续发展&#xff0c;信息时代日益更新&#xff0c;蓬勃发展。同时&#xff0c;随着信息社…

在Mixamo网站上,下载的动画导入unity给自己的模型添加后出错怎么解决

在Mixamo网站上&#xff0c;下载的动画导入unity给自己的模型添加后出错 一、在Mixamo下载的模型可以正常使用二、在自己的模型和unity自带模型上就出错1.解决方法2.解决成功 注意 一、在Mixamo下载的模型可以正常使用 二、在自己的模型和unity自带模型上就出错 1.解决方法 选…

力扣hot100 单词搜索 深度优先搜索 特殊字符判重

Problem: 79. 单词搜索 Code class Solution{int n, m;char[][] b;String word;int[] dx { 1, 0, -1, 0 };int[] dy { 0, 1, 0, -1 };public boolean exist(char[][] board, String word){b board;this.word word;n b.length;m b[0].length; // 以所有点作为起点来进行…

TSINGSEE青犀智能分析网关V4—让加油站迈入AI智能检测时代

一、背景与需求 中国目前建设加油站超过10万个&#xff0c;作为高危场所对于烟火&#xff0c;危险区域管控、消防器材等管理要求严格&#xff0c;稍有不慎即酿成大祸。由于春节临近&#xff0c;加油站各类人员进出频繁&#xff0c;安全意识较低&#xff0c;依靠普通监控人力的…

三菱MODBUS-RTU通信应用编程(485ADP-MB模块)

MODBUS-RTU通信相关内容介绍请参考下面链接文章&#xff1a; https://rxxw-control.blog.csdn.net/article/details/134015051https://rxxw-control.blog.csdn.net/article/details/134015051未完....

28个炫酷的纯CSS特效动画示例(含源代码)

CSS是网页的三驾马车之一&#xff0c;是对页面布局的总管家&#xff0c;2024年了&#xff0c;这里列出28个超级炫酷的纯CSS动画示例&#xff0c;让您的网站更加炫目多彩。 文章目录 1. 涌动的弹簧效果2. 超逼真的3D篮球弹跳&#xff0c;含挤压弹起模态3. 鼠标放div上&#xff0…

蓝桥杯嵌入式——省赛模板构建

新建一个省赛模板文件夹&#xff0c;在里面存放上源工程和目标工程 打开STM32CubeMX新建工程 选择芯片为STM32G431RBT6 CubeMX配置时钟系统 NVIC中断优先级分组为组4 RCC的高速时钟配置为晶振 时钟配置&#xff0c;配置系统时钟为80MHz 设置存放路径和一些基本配置&#xff0c…

在ubuntu上在安装Squid代理服务器

Squid 是一个代理和缓存服务器&#xff0c;它将请求转发到所需的目的地&#xff0c;同时保存请求的内容&#xff0c;当你再次请求相同内容时&#xff0c;他可以向你提供缓冲内容&#xff0c;从而提高访问速度。Squid代理服务器目前支持的协议有&#xff1a;http、SSL、DNS、FTP…

ElementUI安装与使用指南

Element官网-安装指南 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 一、开发环境配置 电脑需要先安装好node.js和vue2或者vue3 安装Node.js Node.js 中文网 安装node.js命令&#xff1a;brew install node node.js安装完后&#xff0c;输入&#xff1…

JS基础 - 遍历对象方法(6种)

初始值&#xff1a; var obj {a: 1,b: 2,c: 3,d: 4,e: 5,}; 第一种&#xff1a;for in for (let key in obj) {console.log(key ":" obj[key]);} 第二种&#xff1a;Object.keys 获取key Object.keys(obj).forEach((key) > {console.log(key ":" …

干货 | 大模型在图数据分析、推荐系统和生物科学中的综合应用

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 图机器学习、推荐系统与大语言模型的融合正成为新的前沿热点。图机器学习通过利用图结构数据&#xff0c;能够有效地捕捉和分析复杂关系和模式。同时&#xff0c;推荐系统正逐步成为我们日常生活的一部分&#…

机器学习——绪论总结

目录 一、引入 二、基本术语 三、假设空间与归纳偏 四、模型选择 一、引入 机器学习&#xff1a;通过计算手段&#xff0c;得出具有能够自我修改、完善能力的模型&#xff0c;利用经验改善系统自身性能。算法使用数据得到模型的过程即称为学习&#xff0c;或训练 流程&…

vs 撤销本地 commit 并保留更改

没想到特别好的办法&#xff0c;我想的是用 vs 打开 git 命令行工具 然后通过 git 命令来撤销提交&#xff0c;尝试之前建议先建个分支实验&#xff0c;以免丢失代码&#xff0c; git 操作见 git 合并多个 commit / 修改上一次 commit

Kotlin快速入门系列9

Kotlin对象表达式和对象声明 对象表达式 有时&#xff0c;我们想要创建一个对当前类有些许修改的对象同时又不想重新声明一个子类。如果是Java&#xff0c;可以用匿名内部类的概念来解决这个问题。kotlin的对象表达式和对象声明就是为了实现这一点(创建一个对某个类做了轻微改…