数据分析之词云图绘制
试验任务概述:如下为所给CSDN博客信息表,分别汇总了'ai', 'algo', 'big-data', 'blockchain', 'hardware', 'math', 'miniprog'等7个标签的博客。对CSDN不同领域标签类别的博客内容进行词频统计,绘制词频统计图,并根据词频统计的结果绘制词云图。
数据表链接:https://download.csdn.net/download/m0_52051577/88669409?spm=1001.2014.3001.5503
import pandas as pd
data=pd.read_csv(open('D://实训课//实训课数据csdn.csv'),sep=',') //导入数据
data //数据预览

如图,数据信息包括class、url、title、content四个类标签,分别表示博客所属领域类别、对应链接、博文题目和博客内容。下面第一步对这些博文按类别进行分类。
session=data.loc[:,'class'].values
set(session)//对数据表的class类别列切分
def classma(i):class1=data.loc[data['class']==class_list[i],:]print(class1)return class1
//定义切分函数,按类别列作为索引返回每一类别对应的数据信息
class_list=['ai', 'algo', 'big-data', 'blockchain', 'hardware', 'math', 'miniprog']
# for i in range(len(class_list)):
# classma(i)
ai=classma(0)
分类结果如下图所示:

导入停用词表,对所分类数据进行停用词处理。
file_path='D:/..csv'
def getStopword(file_path):stop_list=[line[:-1] for line in open(file_path+'/哈工大停用词表 .txt','r',encoding='UTF-8')]return stop_list
getStopword(file_path)
import jieba
def preProcess(all_data,stop_list):xdata=all_data['content']result_data=list(xdata)result=[]for doc in result_data:doc=doc.strip()cut_list=jieba.lcut(doc)doc_result=[word for word in cut_list if word not in stop_list]result.append(doc_result)return result# getStopword(file_path)
result1=preProcess(ai,getStopword(file_path))
print(result1)
导入jieba库,对去除停用词后的数据进行分词处理,并返回分词后的结果。
后续是对分词后的词频进行统计,并计算每个分词的tf-idf值,这里引入一个tf-idf值的概念:
TF(词频)指的是一个词语在文档中出现的频率,它认为在一个文档中频繁出现的词语往往与文档的主题相关性更高。
from gensim.models.tfidfmodel import TfidfModel
from gensim import corpora
def calculate(resultx):dictionary=corpora.Dictionary(resultx)corpus=[dictionary.doc2bow(text) for text in resultx]tf_idf_model = TfidfModel(corpus, normalize=False)word_tf_tdf = list(tf_idf_model[corpus])print('词典:', dictionary.token2id)print('词频:', corpus)print('词的tf-idf值:', word_tf_tdf)return dictionary.token2id,corpus,word_tf_tdf
idic,corpus,word_tf_tdf=calculate(result1)

如上图,找出每个分词和与之相关联的词对应的下标。
max_pic=[]
max_fre=[]
def search(resultx,a):maxmum=[]idic,corpus,word_tf_tdf=calculate(resultx)for row in word_tf_tdf[a]:maxmum.append(row[1])for col in word_tf_tdf[a]:if col[1]==max(maxmum):print(max(maxmum))max_fre.append(max(maxmum))max_sig=col[0]max_pic.append(max_sig)return max_pic,max_fre
for i in range(len(word_tf_tdf)):search(result1,i)
print(max_pic)
print(max_fre)
对所有相关联的数对进行检索,采用特征提取方法对数据排序。并采用最大关联分析,找出每一个标签中与属性相关最大的词。 返回的是对应词的下标和对应的tf-idf值。

dictionary_s=idic
key_words=[]
for key,value in dictionary_s.items():if value in max_pic:key_words.append(key)
key_words.pop(-1)
print(key_words)
构造关键词列表,根据之前返回的关联度最大词汇对应的下标,回到原数据表中定位,找出对应的词汇。
# 构造词频字典
dict_zip=dict(zip(key_words,max_fre))
print(dict_zip)

最后,根据词汇、词频列表绘制词云图。
# 绘制词云
from wordcloud import WordCloud
import matplotlib.pyplot as plt
def draw(y):my_cloud = WordCloud(background_color='white', # 设置背景颜色 默认是blackwidth=900, height=600,max_words=100, # 词云显示的最大词语数量font_path='simhei.ttf', # 设置字体 显示中文max_font_size=99, # 设置字体最大值min_font_size=16, # 设置子图最小值random_state=50 # 设置随机生成状态,即多少种配色方案).generate_from_frequencies(y)# 显示生成的词云图片plt.imshow(my_cloud, interpolation='bilinear')# 显示设置词云图中无坐标轴plt.axis('off')plt.show()
draw(dict_zip)
注:以上为AI标签列对应的词云图,其他标签列词云图绘制的实现方式同此方法。就不再赘述。
相关文章:
数据分析之词云图绘制
试验任务概述:如下为所给CSDN博客信息表,分别汇总了ai, algo, big-data, blockchain, hardware, math, miniprog等7个标签的博客。对CSDN不同领域标签类别的博客内容进行词频统计,绘制词频统计图,并根据词频统计的结果绘制词云图。…...
【赠书第13期】边缘计算系统设计与实践
文章目录 前言 1 硬件架构设计 2 软件框架设计 3 网络结构设计 4 安全性、可扩展性和性能优化 5 推荐图书 6 粉丝福利 前言 边缘计算是一种新兴的计算模式,它将计算资源推向网络边缘,以更好地满足实时性、低延迟和大规模设备连接的需求。边缘计算…...
数据库01_增删改查
1、什么是数据?什么是数据库? 数据:描述事物的符号记录称为数据。数据是数据库中存储的基本对象。数据库:存放数据的仓库,数据库中可以保存文本型数据、二进制数据、多媒体数据等数据 2、数据库的发展 第一阶段&…...
MySQL——进阶篇
二、进阶篇🚩 1. 存储引擎🍆 1.1 MSQL体系结构 连接层: 连接处理,连接认证,每个客户端的权限 服务层: 绝大部分核心功能,可跨存储引擎 可插拔存储引擎: 需要的时候可以添加或拔掉…...
Python 网络编程之搭建简易服务器和客户端
用Python搭建简易的CS架构并通信 文章目录 用Python搭建简易的CS架构并通信前言一、基本结构二、代码编写1.服务器端2.客户端 三、效果展示总结 前言 本文主要是用Python写一个CS架构的东西,包括服务器和客户端。程序运行后在客户端输入消息,服务器端会…...
往年面试精选题目(前50道)
常用的集合和区别,list和set区别 Map:key-value键值对,常见的有:HashMap、Hashtable、ConcurrentHashMap以及TreeMap等。Map不能包含重复的key,但是可以包含相同的value。 Set:不包含重复元素的集合&#…...
解决服务器Tab键不能补全问题
编辑~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml 命令:vim ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml替换:<property name“<Super>Tab” type“string” value“switch_window…...
人工智能 机器学习 深度学习:概念,关系,及区别说明
如果过去几年,您读过科技主题的文章,您可能会遇到一些新词汇,如人工智能(Artificial Intelligence)、机器学习(Machine Learning)和深度学习(Deep Learning)等。这三个词…...
数据库——LAMP的搭建及MySQL基操
1.实验内容及原理 1. 在 Windows 系统中安装 VMWare 虚拟机,在 VMWare 中安装 Ubuntu 系统,并在 Ubuntu 中搭建 LAMP 实验环境。 2. 使用 MySQL 进行一些基本操作: (1)登录 MySQL,在 MySQL 中创建用户,并对…...
抗原设计与兔单B细胞技术的结合-卡梅德生物
随着生物医学研究的不断深入,抗体疗法作为治疗疾病的有力工具逐渐成为研究的焦点。而兔单B细胞技术作为抗体研究的创新方法,其与抗原设计的有机结合为获取定制抗体打开了崭新的创新之路。本文将深入探讨抗原设计与兔单B细胞技术相互融合的原理、优势&…...
在uniapp中使用背景渐变色与背景图不生效问题
list上有文字详情以及背景图,从背景可以看出是渐变色和 背景图片的结合。 因为使用到渐变色,所以要结合 background-blend-mode 属性来实现与背景图片叠加显示,否则只通过 background: linear-gradient(); background-image: url(); 设置不会…...
Java中XML的解析
1.采用第三方开元工具dom4j完成 使用步骤 1.导包dom4j的jar包 2.add as lib.... 3.创建核心对象, 读取xml得到Document对象 SAXReader sr new SAXReader(); Document doc sr.read(String path); 4.根据Document获取根元素对象 Element root doc.getRootElement(); …...
React快速入门之交互性
响应事件 创建事件处理函数 处理函数名常以handle事件名命名 function handlePlayClick() {alert(Playing);}传递事件处理函数 函数名、匿名两种方式! function PlayButton() {function handlePlayClick() {alert(Playing);}return (<Button handleClick{handl…...
浅谈WPF之ToolTip工具提示
在日常应用中,当鼠标放置在某些控件上时,都会有相应的信息提示,从软件易用性上来说,这是一个非常友好的功能设计。那在WPF中,如何进行控件信息提示呢?这就是本文需要介绍的ToolTip【工具提示】内容…...
Android Studio 如何隐藏默认标题栏
目录 前言 一、修改清单文件 二、修改代码 三、更多资源 前言 在 Android 应用中,通常会有一个默认的标题栏,用于显示应用的名称和一些操作按钮。但是,在某些情况下,我们可能需要隐藏默认的标题栏,例如自定义标题栏…...
对于c++的总结与思考
笔者觉得好用的学习方法:模板法 1.采用原因:由于刚从c语言面向过程的学习中解脱出来,立即把思路从面向过程转到面向对象肯定不现实,加之全新的复杂语法与操作,着实给新手学习这门语言带来了不小的困难。所以ÿ…...
Flask 账号详情展示
Flask 账号详情展示 这段代码是一个基于Flask框架的Python应用程序。 它包含了两部分代码:Python代码和HTML代码。 web/templates/common/tab_account.html <div class"row border-bottom"><div class"col-lg-12"><div cla…...
软件测试/测试开发丨Pytest 参数化用例
参数化 通过参数的方式传递数据,从而实现数据和脚本分离。并且可以实现用例的重复生成与执行。 参数化应用场景 测试登录场景 测试登录成功,登录失败(账号错误,密码错误)创建多种账号: 中⽂文账号,英⽂文账号 普通测试用例方法 …...
MATLAB中./和/,.*和*,.^和^的区别
MATLAB中./和/,.*和*,.^ 和^ 的区别 MATLAB中./和/,.*和*,.^ 和^ 的区别./ 和 / 的区别.//实验实验结果 .* 和 * 的区别.**实验实验结果 .^ 和^ 的区别.^n^n实验运行结果 MATLAB中./和/,.和,.^ 和^ 的区别 …...
Flask 与微信小程序对接
Flask 与微信小程序的对接 在 web/controllers/api中增建py文件,主要是给微信小程序使用的。 web/controllers/init.py # -*- coding: utf-8 -*- from flask import Blueprint route_api Blueprint( api_page,__name__ )route_api.route("/") def ind…...
FFCreator 10个实用技巧:轻松掌握视频制作的核心功能
FFCreator 10个实用技巧:轻松掌握视频制作的核心功能 【免费下载链接】FFCreator 一个基于node.js的高速视频制作库 A fast video processing library based on node.js 项目地址: https://gitcode.com/gh_mirrors/ff/FFCreator FFCreator是一个基于Node.js的…...
导师推荐!盘点2026年当红之选的AI论文平台
一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文平台,覆盖选题构思、文献综述、数据整理、降重润色、格式排版等全流程,高效搞定论文,让你轻松应对学术挑战。 一、全流程王者:一站式搞定论文全链…...
英语节日庆祝口语
一、春节 (Chinese New Year / Spring Festival) 1. 春节祝福 中文英文春节快乐!Happy Chinese New Year! / Happy Spring Festival!新年快乐!Happy New Year!恭喜发财!Wishing you prosperity! / Gong Xi Fa Cai!万事如意!May …...
通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI编程助手效果:对比Claude Code在简单任务上的表现
通义千问1.5-1.8B-Chat-GPTQ-Int4 WebUI编程助手效果:对比Claude Code在简单任务上的表现 最近在折腾本地部署的AI编程助手,发现了一个挺有意思的开源小模型——通义千问1.5-1.8B-Chat的GPTQ-Int4量化版本。别看它体积小,只有1.8B参数&#…...
如何让AI创作速度提升3倍?智能缓存技术TeaCache的完整指南
如何让AI创作速度提升3倍?智能缓存技术TeaCache的完整指南 【免费下载链接】ComfyUI-TeaCache 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-TeaCache 你是否曾为AI图像和视频生成的速度而烦恼?看着进度条缓慢移动,等待数分…...
保姆级教程:用迪文屏官方工具生成30x30点阵汉字库,搞定界面文本显示
嵌入式UI开发实战:迪文屏3030点阵汉字库生成全流程指南 在嵌入式设备的人机交互界面开发中,文本显示是最基础却最容易出问题的环节之一。许多开发者第一次使用迪文屏时,往往会被字库生成工具的参数设置难住——为什么明明生成了字库…...
Python爬虫实战:手把手教你如何基于 Python 异步架构的 Crates.io 工业级爬虫实战!
㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐⭐☆☆☆(基础级) 🉐福利: 一次订阅…...
告别环境变量噩梦:一键批处理脚本详解,让QGIS在Windows下的编译配置自动化
告别环境变量噩梦:一键批处理脚本详解,让QGIS在Windows下的编译配置自动化 在GIS开发领域,QGIS作为开源地理信息系统的代表,其灵活性和可扩展性吸引了大量开发者。然而,每次从源码编译QGIS都像是一场与环境变量的搏斗—…...
【实战】VSCode插件离线安装全攻略:从下载到部署
1. 为什么需要离线安装VSCode插件 作为一名在开发一线摸爬滚打多年的老码农,我遇到过太多因为网络问题导致插件安装失败的场景。比如去年在某大型制造企业的工厂MES系统升级项目中,开发环境完全隔离外网,但团队又急需使用GitLens和Python插件…...
Jellyfin MetaTube插件:5分钟打造专业级媒体库的终极指南
Jellyfin MetaTube插件:5分钟打造专业级媒体库的终极指南 【免费下载链接】jellyfin-plugin-metatube MetaTube Plugin for Jellyfin/Emby 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metatube MetaTube是一款专为Jellyfin和Emby设计的免…...
