当前位置: 首页 > news >正文

实验7-1 自媒体运营分析-数据清洗与预处

一、实验背景

1.1实验目的

本实验基于全班同学在多平台发布的作品互动数据,使用助睿ETL完成数据清洗与预处理,输出两张核心数据表,为后续特征工程与可视化分析奠定基础。

通过本实验,学生应掌握:

  • 理解数据清洗在数据分析流程中的基础性与必要性
  • 使用助睿ETL完成多源数据的过滤、填充、聚合等预处理操作
  • 掌握“分支处理”的设计思路:全平台概况统计与重点平台深度分析分流
  • 输出两张规范数据表,支撑仪表盘不同模块的数据需求

1.2 实验思路

1..2.1 为什么需要数据清洗?

采集到的原始数据往往不能直接用于分析,需要先做清洗。

观察 自媒体作品数据明细.csv 这份数据,可以发现几个问题:

  • 平台冗余:数据包含了B站、CSDN、微信、知乎、小红书等多个平台,但微信、知乎等平台的浏览数量几乎全是0。这些平台虽然有作品记录,但缺乏核心的浏览数据,无法支撑有意义的分析。
  • 无效记录:部分作品的浏览数量、点赞数量、收藏数量全部为0。这些记录可能是采集失败,也可能是作品确实无人问津,但无论如何,它们对分析没有贡献。
  • 字段缺失:点赞、收藏、分享等字段中存在空值,如果不处理,后续计算会报错。

数据清洗要做的,就是把这些问题逐一解决。

1.2.2数据处理流程

本次实验有一个特殊之处:后续可视化仪表盘需要同时展示两类信息。

第一类是“全平台概况”——全班总共发了多少内容?覆盖了几个平台?总浏览和总互动是多少?这些数字需要基于所有平台的原始数据来统计,哪怕浏览数为0也要计入作品数。

第二类是“重点平台深度分析”——B站和CSDN的具体表现如何?播放量、阅读量、互动率是多少?这些分析只需要B站和CSDN的有效数据(浏览数大于0的记录)。

两类信息对数据的要求不同,所以在ETL中需要做分支处理:

两张表各司其职:summary_all_platforms 只用于仪表盘顶部的全平台概况指标卡;cleaned_details 作为中间结果,交给下一实验继续加工。

二、实验步骤

2.1导入数据

在公共空间处导出数据,自媒体作品数据明细.csv

右键资源库,新建转换流,命名为“创建标题特征互动分析表“

2.2创建表

在画布中拖入组件“执行一个SQL脚本”

解锁画布,编辑组件数据库连接选择团队私有数据库:

脚本代码如下:

CREATE TABLE IF NOT EXISTS title_feature_analysis (

id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',

platform VARCHAR(20) NOT NULL COMMENT '平台(B站/CSDN)',

feature_name VARCHAR(50) COMMENT '关键词名称',

avg_interaction DECIMAL(10,2) COMMENT '含该关键词的平均互动总数',

overall_avg DECIMAL(10,2) COMMENT '该平台整体平均互动总数',

sample_count INT COMMENT '含该关键词的作品数'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COMMENT='标题特征互动分析表';

点击确认:

执行转化流:

以同样的方式创建内容分析表,全平台概况表

内容分析表的SQL代码:

CREATE TABLE IF NOT EXISTS content_analysis (

id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',

crawl_date DATE NOT NULL COMMENT '采集日期',

author_name VARCHAR(100) COMMENT '作者昵称',

title VARCHAR(500) COMMENT '作品标题',

platform VARCHAR(20) NOT NULL COMMENT 'B站 / CSDN',

likes INT DEFAULT 0 COMMENT '点赞数',

favorites INT DEFAULT 0 COMMENT '收藏数',

shares INT DEFAULT 0 COMMENT '分享数',

coins INT DEFAULT 0 COMMENT '投币数(仅B站)',

views INT DEFAULT 0 COMMENT '播放量/阅读量',

url VARCHAR(500) COMMENT '作品链接',

total_interaction INT DEFAULT 0 COMMENT '互动总数',

has_best TINYINT(1) COMMENT '是否含"保姆级"',

has_lowcode TINYINT(1) COMMENT '是否含"零代码"',

has_practice TINYINT(1) COMMENT '是否含"实战"',

has_tutorial TINYINT(1) COMMENT '是否含"教程/指南"',

has_pit TINYINT(1) COMMENT '是否含"踩坑"'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COMMENT='内容分析表';

全平台概况表SQL代码:

CREATE TABLE IF NOT EXISTS summary_all_platforms (

id INT AUTO_INCREMENT PRIMARY KEY COMMENT '自增主键',

crawl_date DATE NOT NULL COMMENT '采集日期',

platform VARCHAR(20) NOT NULL COMMENT '平台名称',

content_count INT DEFAULT 0 COMMENT '作品数量',

total_views INT DEFAULT 0 COMMENT '总浏览数',

total_likes INT DEFAULT 0 COMMENT '总点赞数',

total_favorites INT DEFAULT 0 COMMENT '总收藏数',

total_shares INT DEFAULT 0 COMMENT '总分享数',

total_coins INT DEFAULT 0 COMMENT '总投币数(仅B站)',

total_recommend INT DEFAULT 0 COMMENT '总推荐数(仅微信)',

total_likes_zhihu INT DEFAULT 0 COMMENT '总喜欢数(仅知乎)',

total_approvals INT DEFAULT 0 COMMENT '总赞同数(仅知乎)'

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

COMMENT='全平台概况表';

2.2全平台聚合统计

在数据清洗之前,先做一个分支。拖入“排序记录”、“分组”组件,按 日期 和 平台 排序、分组,其余数值字段全部取求和。输出 summary_all_platforms

2.3过滤记录

在另一个分支中,使用“过滤记录”组件筛选B站和CSDN的有效记录:

只保留 B站 和 CSDN 两个平台,原始数据包含B站、CSDN、微信、知乎、小红书等多个平台。由于微信、知乎等平台的浏览数量大量缺失(值为0),无法支撑有意义的分析,因此只保留 B站 和 CSDN 的记录。

逻辑说明:括号内的条件组合确保“平台”与“有效记录判定”同时满足,一个组件完成双重过滤。助睿ETL的过滤记录组件支持编写复杂条件表达式,可通过 AND、OR 灵活组合多条件,一步到位完成精细化数据筛选。

2.4填充缺失值

由于数值字段没有空值,但作者名称和作品标题可能存在空值,我们统一填充为位置,避免后续使用时出现异常。

2.5字段选择

原始数据中的 source_file是采集批次标记,分析阶段用不到,剔除掉。投币数量(coins)保留,作为B站特有的互动指标。用“字段选择”组件,只保留以下字段,其他字段全部剔除:

date, author_name, title, platform, likes, favorites, shares, coins, views, url

2.6输出目标表

将处理后的数据输出为 content_analysis,这张表是实验7-2的输入。

  • 实验结果

执行转换流并数据探查,在助睿BI看输出表

  • 四、实验心得

本次实验完成自媒体多平台原始数据ETL清洗,让我彻底理解数据清洗是数据分析全流程的地基,没有高质量底层数据,后续特征计算、可视化分析都会出现偏差甚至报错。拿到原始数据集后,我直观看到多源采集数据存在大量缺陷:微信、知乎、小红书等平台浏览量几乎全为0,属于无效冗余数据;大量作品点赞、阅读全部归零,是无价值采集记录;标题、作者字段存在空值,直接聚合统计会产生计算异常。

实验最核心的设计是分支处理数据流,一套原始数据分流生成两张用途完全不同的数据表:summary_all_platforms保留全平台所有记录用于大盘指标统计,cleaned_details仅筛选B站、CSDN有效流量数据用于深度分析。一开始我没有理解双分支的意义,尝试统一过滤全部零流量数据,导致全平台作品总量统计失真,仪表盘总览指标卡数值出错,反复调试后才明白不同分析场景对数据口径的要求存在本质区别。

实操中熟练掌握了助睿ETL各类组件:过滤记录多条件组合、替换NULL值填充文本空字段、字段选择剔除冗余采集字段、SQL脚本建表、分组聚合批量求和。过程中多次出现数据表字段不匹配、过滤逻辑写反、空值未填充导致聚合为空等问题,通过数据探查逐行核对记录才逐一修正。

http://www.jsqmd.com/news/1133056/

相关文章:

  • 如何高效使用免费开源项目管理工具GanttProject:5个提升效率的秘诀
  • 如何在Windows 10/11上实现经典游戏联机:IPXWrapper终极解决方案
  • 如何快速掌握思源宋体:专业设计的7种粗细完整使用秘诀
  • 如何用FancyZones免费打造你的Windows窗口管理神器:3分钟告别窗口混乱
  • Camera Sensor 引脚/模块全解:VDDIO / VDDA / VDDD / XSHUTDOWN / MCLK / CCI / PLL
  • Beyond Compare 5终极密钥生成指南:3种简单方法实现免费激活
  • AI效率工具产品化:从试点到规模化推广的量化决策框架
  • R-CNN 到 Faster R-CNN 演进:3 大核心改进与 1 个关键模块(RPN)深度解析
  • AI 开源复现清单:README 跑通只是最低标准
  • 思源宋体:专业设计师的7字重中文排版终极方案
  • 3步搭建本地千万级图片搜索引擎:免费、快速、安全的图片管理终极方案
  • 如何彻底卸载Windows Defender:3步优化方案释放系统性能
  • 如何用FastbootEnhance告别命令行刷机烦恼:Windows平台最友好的Android设备管理工具
  • 《狼伴归途》技术解析:CGI生物角色与冰河环境构建实战
  • STM32寄存器级开发:突破点灯幻觉的四层能力跃迁
  • 终极Fastboot增强工具箱:告别复杂命令行,Windows平台Android刷机从未如此简单
  • 常用git命令
  • 分布式事务补偿:失败后能收场,比强一致更现实
  • 3步彻底解决Windows Defender性能拖慢问题:释放30%系统资源
  • Omniglot Dataset 小样本学习实战:5行代码加载,20-way 1-shot 分类任务搭建
  • 终极指南:用ImageSearch构建千万级本地图片搜索引擎,保护隐私的完美解决方案
  • Figo整体‑集体思维下的人工智能时代社会治理体系研究——基于道家与儒家传统的系统性框架构建
  • 如何快速掌握JPEXS FFDec:Flash逆向工程与SWF分析完整指南
  • SpringBoot RestTemplate
  • AcFunDown:5分钟掌握A站视频离线保存的完整指南
  • 如何3分钟完成Android Studio中文汉化:终极完整界面本地化指南
  • AI画中文为何总像鬼画符?从扩散模型原理到实用解决方案
  • Gemini 3.5 Pro或17日发布、Grok Imagine新增15秒视频生成、GPT-5.6 Sol 跑30小时超Opus | 7月5日 AI日报
  • 14、 多环境部署:test/staging/production
  • PyTorch 2.3.0 环境配置:CUDA 12.4 与 cuDNN 9.2.1 版本兼容性实测与避坑指南