制作词云(纯代码)

2023-11-19

词云技术是一种将单词数据可视化的技术,通常将单词按照出现频率在一个图形中显示,单词在图形中的大小表示其出现的频率。
词云技术最初是为了数据挖掘和文本分析而开发的,但现在它已经成为了一种常见的数据可视化方式,常用于展示文章、调查问卷、舆情分析等文本数据,可以让用户快速了解文本的热点和关键词。
词云的生成一般包括以下步骤:

收集文本数据并进行处理,去除一些无用信息,例如停用词等;
对于每个单词计算其出现频率,可以使用Python的nltk和jieba等自然语言处理工具来实现;
根据单词的频率和一些其他的配置参数,使用词云库(例如wordcloud)来生成词云图像;
可以使用matplotlib库来展示词云,也可以将其保存为文件。

值得注意的是,词云并不是一种严格意义上的数据分析方法,它只能展示数据的一部分。在某些情况下,词云可能会产生误导性的信息,需要结合其他的数据分析方法来进行分析和判断。

def getText(filepath):
    f=open(filepath,"r",encoding='utf-8')
    text=f.read()
    f.close()
    return text

import jieba
def wordFreq(filepath,text,topn):
    f=open(filepath,"r",encoding='utf-8')
    text=f.read()
    words=jieba.lcut(text.strip())
    counts={}
    for word in words:
        if len(word)==1:
            continue
        else:
            counts[word]=counts.get(word,0)+1
    items=list(counts.items())
    items.sort(key=lambda x:x[1],reverse=True)
    f=open(filepath[:-4]+'_词频.txt',"w")
    for i in range(topn):
        word,count=items[i]
        f.write("{}\t{}\n".format(word,count))
    f.close()
    
getText(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt")
f=open(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt","r",encoding='utf-8')
text=f.read()
wordFreq(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2.txt",text,70)


# In[14]:


import matplotlib.pyplot as plt
import wordcloud
from imageio import imread
bg_pic=imread(r'E:\大创\江苏省数字化公共服务能力提升路径研究\n.jpg')
f=open(r"E:\大创\江苏省数字化公共服务能力提升路径研究\n2_词频.txt")
text=f.read()
f.close()
wcloud=wordcloud.WordCloud(font_path=r'C:\Windows\Fonts\simhei.ttf',background_color="white",width=1000,
                        max_words=500,
                        mask=bg_pic,
                        height=860,margin=2).generate(text)

wcloud.to_file("n2cloud.jpg")

plt.imshow(wcloud)
plt.axis('off')
plt.show()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

制作词云(纯代码) 的相关文章

  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • 中断 Select 以添加另一个要在 Python 中监视的套接字

    我正在 Windows XP 应用程序中使用 TCP 实现点对点 IPC 我正在使用select and socketPython 2 6 6 中的模块 我有三个 TCP 线程 一个读取线程通常会阻塞select 一个通常等待事件的写入线程
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • 在 django ORM 中查询时如何将 char 转换为整数?

    最近开始使用 Django ORM 我想执行这个查询 select student id from students where student id like 97318 order by CAST student id as UNSIG
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 将 python2.7 与 Emacs 24.3 和 python-mode.el 一起使用

    我是 Emacs 新手 我正在尝试设置我的 python 环境 到目前为止 我已经了解到在 python 缓冲区中使用 python mode el C c C c将当前缓冲区的内容加载到交互式 python shell 中 显然使用了什么
  • 使用Python请求登录Google帐户

    在多个登录页面上 需要谷歌登录才能继续 我想用requestspython 中的库以便让我自己登录 通常这很容易使用requests库 但是我无法让它工作 我不确定这是否是由于 Google 做出的一些限制 也许我需要使用他们的 API 或
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • Docker 中的 Python 日志记录

    我正在 Ubuntu Web 服务器上的 Docker 容器中测试运行 python 脚本 我正在尝试查找由 Python Logger 模块生成的日志文件 下面是我的Python脚本 import time import logging
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 不同编程语言中的浮点数学

    我知道浮点数学充其量可能是丑陋的 但我想知道是否有人可以解释以下怪癖 在大多数编程语言中 我测试了 0 4 到 0 2 的加法会产生轻微的错误 而 0 4 0 1 0 1 则不会产生错误 两者计算不平等的原因是什么 在各自的编程语言中可以采
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以
  • 使用 z = f(x, y) 形式的 B 样条方法来拟合 z = f(x)

    作为一个潜在的解决方案这个问题 https stackoverflow com questions 76476327 how to avoid creating many binary switching variables in gekk

随机推荐

  • 数学建模的六个步骤

    一 模型准备 了解问题的实际背景 明确其实际意义 掌握对象的各种信息 以数学思路来解释问题的精髓 数学思路贯彻问题的全过程 进而用数学语言来描述问题 要求符合数学理论 符合数学习惯 清晰准确 理解实际问题后 搜集资料 快速阅读和理解参考文献
  • 神经网络编程技巧(一):两个矩阵相乘报错,np.random.randn(5,)不是矩阵,np.random.randn(5,1)才能得到1*5的矩阵,np.dot()函数

    np dot函数主要用于向量的点积和矩阵的乘法 格式如下np dot a b 其中a b均为n维向量 具体例子参考下面的代码及其结果 在神经网络中经常使用这个函数 能够节约大量的时间 原来复杂的公式在编程时只需要这一行代码即可实现 在编写p
  • Qt实现Excel读写

    QtXlsx 是 第三方的Qt库 为Qt程序提供读写Excel的接口 不单单是Microsoft Excel 它可以用于任何Qt支持的平台 相比Qt官方的QAxObject QtXlsx提供的接口封装层次更高 使用更加简便 github主页
  • LeetCode 933. 最近的请求次数

    写一个 RecentCounter 类来计算特定时间范围内最近的请求 请你实现 RecentCounter 类 RecentCounter 初始化计数器 请求数为 0 int ping int t 在时间 t 添加一个新请求 其中 t 表示
  • 存储计划:自动kill掉死锁进程id

    CREATE PROCEDURE dbo sp who lock1116 AS exec sp who lock1116 begin declare spid int bl int intTransactionCountOnEntry in
  • 结构体封装(C语言)

    转自 http blog jobbole com 57822 我也不理会失不失落 只是对结构体封装技术感兴趣 目录 1 谁该阅读这篇文章 2 我为什么写这篇文章 3 对齐要求 4 填充 5 结构体对齐及填充 6 结构体重排序 7 难以处理的
  • suggest ajax,高仿google suggest ajax示例

    搜索提示框 var obj div 提示层对象 var obj input 输入框对象 var main delay 判断值变化延迟对象 var ajax delay ajax延迟搜索对象 var updown delay 方向键延迟对象
  • 13. 机器人正运动学---雅克比矩阵(1)

    目录 1 引言 2 雅克比矩阵 3 机器人雅克比矩阵 4 求解雅克比矩阵 4 1 几何法 1 引言 前面的一些文章我们一直对机器人进行静态分析 也就是给定一组关节角求机器人末端位姿 这篇文章我们来分析一下关节角的运动将怎样影响机器人末端的位
  • 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛

    染方块 color Description 现在有一个 n times nn n 的方格 每一个格子是红块 X 绿块 O 或者空白块 而你可以把空白块染成红色 在你对你想染色的空白块进行染色之后 方格会有这样的变化 如果一个绿色块上下左右都
  • Java调用kettle实现ETL功能:使用mysql8.0.x版本的驱动

    来个目录吧 背景 实现 效果 附录 参考文档 背景 最近项目上需要java调用kettle实现ETL逻辑 所以找度娘看了看kettle相关的知识 刚开始写了个demo项目 见参考文档 在demo上能正常调用ktr文件 所以就转移到了项目中
  • v-model绑定导致的element UI文本框输入第一次值后被绑定,导致空文本框无法再输入文字

    在工作岗位上 上边分配一个任务 创建一个页面 从0 1 全部自己搭建 也没有啥模版 就这么来 那就直接来吧 没办法 那就直接上手 开发过程中 我使用了v model对输入文本框的值进行双向绑定 这样可以直接使用用户输入文本框的值 同时 后端
  • arm64汇编b带条件跳转指令和bl跳转带返回ret指令

    文章目录 ret返回指令 B 跳转指令 BL 带返回的跳转指令 B指令可以接上后缀 用来和cmp比较后待条件的跳转 ret返回指令 cpu遇到ret之后 会把lr赋值给pc 这样cpu执行了pc里的地址的指令 就是执行调用这个函数的下一条指
  • fork之后子进程到底复制了父进程什么

    fork之后子进程到底复制了父进程什么 发表于2015 4 3 9 54 08 2161人阅读 分类 操作系统 include
  • 从大学E-R图分析ER图中单线、双线、带箭头线表达的意思

    我们将从下面这张图开始讲起 1 双线 带箭头线 观察上图满足双线 带箭头线的有 course和department course和course dept之间有一条双线 表示course在course dept中全部参与 即每个课程必须和一个
  • 握手2倍速率进,一倍速率出[verilog]

    module two to one parameter WORD LEN 33 input clk input arst input 2 WORD LEN 1 0 i din input i din valid output o din r
  • 【顺序表图书管理】

    一 实验目的 掌握顺序存储的线性表的创建 查找 插入 删除和输出操作 二 实验内容 实现一个存放图书信息的顺序表 三 实验要求 图书的基本信息有图书编号 例如 1 2 3 4等 书名和价格等 对图书的顺序表进行查找 插入 删除和输出操作 3
  • 一些关于dagger2的理解(一)

    转自 http blog csdn net shareye1992 article details 51398554 首先 真实的原理我不准 但是我还是提供我的理解 阅读这篇文章希望读者能满足一个假设 不管懂不懂 看过一些其他关于dagge
  • tshark命令小结

    基本语法 tshark a
  • centos7安装kubeadm

    安装配置docker v1 9 0版本推荐使用docker v1 12 v1 11 v1 13 17 03也可以使用 再高 版本的docker可能无法正常使用 测试发现17 09无法正常使用 不能使用资源限制 内存CPU 安装docker
  • 制作词云(纯代码)

    词云技术是一种将单词数据可视化的技术 通常将单词按照出现频率在一个图形中显示 单词在图形中的大小表示其出现的频率 词云技术最初是为了数据挖掘和文本分析而开发的 但现在它已经成为了一种常见的数据可视化方式 常用于展示文章 调查问卷 舆情分析等