【词云图】从excel和从txt文件,绘制以句子、词为单位的词云图

从excel和从txt文件,绘制以句子、词为单位的词云图

  • 写在最前面
    • 数据说明&结论
  • 从txt文件,绘制以句子、词为单位的词云图
    • 自我介绍
  • 从excel,绘制以句子、词为单位的词云图
    • 读取excel
    • 绘制以句子、词为单位的词云图
    • 文章标题

写在最前面

经常绘制词云图,这次正好梳理一下,方便之后自己直接copy微调代码。

代码功能说明:
1、支持plt绘图的中文正常显示
2、以句为单位、和以词为单位进行词云图分析
3、支持excel的数据读取,注意excel中nan数据必须先进行处理,本文以’未提供’填充缺失数据。
4、支持txt文件的数据读取

数据说明&结论

这份数据包含了我最近发布的文章标题。

为了更好地分析这些数据,首先对数据进行清理和整理,然后进行可视化分析,并最后提出一些结论。

从txt文件,绘制以句子、词为单位的词云图

import matplotlib.pyplot as plt
import seaborn as sns
from wordcloud import WordCloud
import jieba  # 导入 jieba 分词库plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体,以便支持中文
sns.set(style="whitegrid")  # 设置图表风格# 生成词云的函数
def generate_wordcloud(text, title, use_jieba=False):plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体,以便支持中文if use_jieba:text = " ".join(jieba.cut(text))  # 使用 jieba 进行分词wordcloud = WordCloud(width=800, height=400, font_path='simhei.ttf', background_color='white').generate(text)plt.figure(figsize=(10, 5))plt.imshow(wordcloud, interpolation='bilinear')plt.title(title, fontsize=18)plt.axis("off")plt.show()# 读取 TXT 文件
file_path = '自我介绍.txt'  # 替换为您的 TXT 文件路径
with open(file_path, 'r', encoding='utf-8') as file:text = file.read()title = '自我介绍'# 生成词云
generate_wordcloud(text, title)
generate_wordcloud(text, title, use_jieba=True)

自我介绍

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

从excel,绘制以句子、词为单位的词云图

读取excel

import matplotlib.pyplot as plt
import seaborn as sns
from wordcloud import WordCloud
import jiebaimport pandas as pd# Load the provided Excel file for analysis
file_path = 'score1.xlsx'
try:data = pd.read_excel(file_path)
except Exception as e:print(f"Error reading the Excel file: {e}")# 处理数据
data.fillna('未提供', inplace=True)# Displaying the first few rows of the dataset to understand its structure and contents
data.head()
文章标题URL发布时间阅读量收藏量点赞量评论量质量分
0【力扣热题100】287. 寻找重复数(弗洛伊德的乌龟和兔子方法)https://blog.csdn.net/wtyuong/article/details/...2023-12-08 23:39:3259617241491
12024年大学生考试/考证年历框架https://blog.csdn.net/wtyuong/article/details/...2023-12-08 23:24:473681112290
2【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + ...https://blog.csdn.net/wtyuong/article/details/...2023-12-06 21:27:261936396010497
3【从0配置JAVA项目相关环境2】node.js + 前端 从配置到运行https://blog.csdn.net/wtyuong/article/details/...2023-12-06 21:26:3315442527593
4GPT-Crawler一键爬虫构建GPTs知识库https://blog.csdn.net/wtyuong/article/details/...2023-12-05 23:32:37181530312994

绘制以句子、词为单位的词云图

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from wordcloud import WordCloud
import jieba  # 导入jieba分词库plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体,以便支持中文
sns.set(style="whitegrid")  # 设置图表风格# 生成词云的函数
def generate_wordcloud(text_series, title, use_jieba=False):plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体,以便支持中文text = ' '.join(text_series.astype(str))  # 将文本转换为字符串if use_jieba:text = " ".join(jieba.cut(text))  # 使用jieba进行分词wordcloud = WordCloud(width=800, height=400, font_path='simhei.ttf', background_color='white').generate(text)plt.figure(figsize=(10, 5))plt.imshow(wordcloud, interpolation='bilinear')plt.title(title, fontsize=18)plt.axis("off")plt.show()# 对不同的列生成词云
generate_wordcloud(data['文章标题'], '标题')
generate_wordcloud(data['文章标题'], '标题', use_jieba=True)

文章标题

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

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

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

相关文章

GEE机器学习——利用梯度决策树Gradient Tree Boost 方法(GBDT/GBRT)进行土地分类和精度测试

Gradient Tree Boost 方法的具体介绍 梯度提升树(Gradient Tree Boost)是一种集成学习方法,通过串行训练多个决策树来解决回归和分类问题。它通过迭代的方式不断优化模型预测结果,使得每一棵树能够纠正前一棵树的预测误差。 Gradient Tree Boost方法的具体步骤如下: 1. …

小程序时代的机遇:开发成功的知识付费平台

知识付费平台不仅为知识创作者提供了广阔的变现渠道,同时也为用户提供了更为个性化、精准的学习体验。本篇文章,小编将为大家讲解知识付费小程序开发相关的知识。 一、小程序时代的背景 知识付费作为小程序领域中的“大热门”,有着非常高的…

WT2605C-32N语音芯片:跑步机音乐新搭档,畅享健康奔跑旋律

在现代健身领域,唯创知音的WT2605C-32N蓝牙音频MP3音乐解码语音芯片IC作为音乐解码的新搭档,为跑步机带来了更为智能、富有音乐节奏的健康奔跑体验,引领跑步健身的新时代。 1. 蓝牙连接,自由音乐选择 跑步机启动时,W…

【java】Optional操作

参考: 【Java8】 Optional 详解java Optional操作 1、简介 Optional类是Java8为了解决null值判断问题,借鉴google guava类库的Optional类而引入的一个同名Optional类,使用Optional类可以避免显式的null值判断(null的防御性检查…

一个最小的物联网系统设计方案及源码(一)——系统组成

关于物联网 物联网(Internet of Things,缩写IOT)是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。 物联网一般为无线网,由于每个人周围的设备可以达到一千至五千个&…

【unity】【WebRTC】从0开始创建一个Unity远程媒体流app-设置输入设备

【项目源码】 包括本篇需要的脚本都打包在项目源码中,可以通过下面链接下载: 【背景】 目前我们能投射到远端浏览器(或者任何其它Peer)的媒体流只有默认的MainCamera画面,其实我们还可以通过配置输入来传输操作输入信息,比如键鼠等。 【追加input processing组件】 …

React-hook-form-mui (一):基本使用

前言 在项目开发中,我们选择了ReactMUI作为技术栈。在使用MUI构建form表单时,我们发现并没有与antd类似的表单验证功能,于是我们选择了MUI推荐使用的react-hook-form-mui库去进行验证。但是发现网上关于这个库的使用方法和demo比较少且比较简…

【LinkedList】常用方法大全

1、添加元素: push、offerFirst都调用了addFirst函数,只不过push和addFirst一样没有返回值,offer会返回true;add背后通过linkLast(e)源码实现且有返回值 具体方法实现备注addpublic boolean add(E e) {linkLast(e); return true;}…

GEE:使用网格搜索法(Grid Search)求机器学习的最优参数或者参数组合

作者:CSDN @ _养乐多_ 本文记录了在 Google Earth Engine(GEE)平台中,计算机器学习分类算法最优参数的代码,其中包括单一参数的最优和不同参数组合的最优。使用的最优参数计算方法是网格搜索法(Grid Search),GEE 平台上并没有现成的网格搜索法 API,因此,本文在 GEE …

FPGA学习笔记-1 FPGA原理与开发流程

1 初识FPGA 文章目录 1 初识FPGA1.1 基本认知1.1.1 什么是FPGA?1.1.2 什么是HDL?什么是Verilog?1.1.3 硬件开发与软件开发1.1.4 FPGA与其他硬件的对比1.1.5 FPGA优势与局限性1.1.6 FPGA的应用1.1.7 FPGA的学习之路 1.2 FPGA开发流程1.2.1 一般…

安装Anaconda和pytorch

首先看下自己电脑是否有英伟达的显卡,如果有的话可以安装GPU版本,没有的话可以安装CPU版本。 CPU版本 1.安装Anaconda 首先去官网下载Anaconda。 点击download,下载的就是最新版本的。 下载完成后,直接运行下步就行 注意到路径…

python读取csv文件

在Python中,你可以使用pandas库来读取CSV文件。以下是一个基本的例子: import pandas as pd# 读取CSV文件data pd.read_csv(filename.csv)# 显示前几行数据print(data.head()) 这里,filename.csv应该被替换为你的CSV文件的实际路径和名称。…

SpringBoot 国际化-自定义 LocaleResolver

准备国际化文件 资源目录下创建 i18文件夹, i18 下面创建两个文件: 预配置信息 messages_en_US.preperties | successsuccess messages_zh_CN.properties | success操作成功在application.yml中指定国际化文件的位置 sp…

Web漏洞分析-文件解析及上传(上)

随着互联网的迅速发展,网络安全问题变得日益复杂,而文件解析及上传漏洞成为攻击者们频繁攻击的热点之一。本文将深入研究文件解析及上传漏洞,通过对文件上传、Web容器IIS、命令执行、Nginx文件解析漏洞以及公猫任意文件上传等方面的细致分析&…

「Verilog学习笔记」简易秒表

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1nsmodule count_module(input clk,input rst_n,output reg [5:0]second,output reg [5:0]minute);always (posedge clk or negedge rst_n) begin if (~rst…

控制笔记本电脑性能,增强性能/控制发热---Thinkpad x280

1、引言 手上有一台收来办公的Thinkpad x280,但安装的联想管家却没有性能调节选项,导致电脑性能释放很不顺手。由于有室外办公需求,也就有续航需求,也是让它减少发热;同时我想在室内的时候,完整发挥它的性能&#xff…

Spring框架中的8种设计模式

前言 Spring框架中的8种设计模式分别是:1、简单工厂。2、工厂方法。3、单例模式。4、适配器模 式。5、装饰器模式。6、代理模式。7、观察者模式。8、策略模式. 1、简单工厂 Spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获…

<Halcon> 局部放大显示

局部放大显示 当读取的图片为超大分辨率时,我们需要对局部位置或定位到的位置在显示窗口放大显示,主要算子为dev_set_part。 read_image (Image, printer_chip/printer_chip_01) gen_rectangle1 (ROI_0, 617.275, 1347.28, 828.349, 1449.5) dev_set_p…

springcloud微服务篇--2.微服务之间的调用

一、微服务案例需求1: 根据订单id查询订单的同时,把订单所属的用户信息一起返回 1、新建订单项目,用户服务。 2.RestTemplate实现微服务之间的访问。 在order-service的OrderApplication中注册RestTemplate 注入调用: Autowire…

Android 12.0 Launcher3定制化之修改添加的默认文件夹为9宫格样式

1. 概述 在12.0的系统产品rom定制化开发中,对于Launcher3的定制功能也是不少的,比如在Launcher3中添加默认文件夹,把默认的app添加的文件夹里面,其他的app 然后按顺序排序。在文件夹布局就是默认的9宫格布局,接下来分析下相关源码来实现相关功能的实现 2.Launcher3定制化…