news 2026/5/12 23:58:02

3.1 数据体检清单(6个核心问题)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.1 数据体检清单(6个核心问题)

本章学习目标

  • 建立“拿到数据先体检”的职业习惯
  • 记住6个核心问题及其背后的检查目的
  • 学会向AI描述体检需求
  • 能够读懂体检结果并判断“有没有问题”

一、为什么叫“体检”?

想象你去医院做体检:

体检项目目的数据分析的对应
身高体重知道你的基本数据数据有多少行、多少列
血常规检查各项指标是否正常每列是什么类型、有没有异常值
X光片看有没有隐藏问题缺失值、重复值、脏数据
医生问诊结合你的情况综合判断结合业务场景判断数据是否合理

体检的核心逻辑

  1. 先做标准化检查(每个人都有同样的项目)
  2. 发现问题再深入检查(某项指标异常,加做专项)
  3. 拿到报告后判断“正常”还是“有问题”

体检的意义:不要在生病后才去看病,而是在数据进入分析流程之前,就发现潜在问题。


二、体检清单:6个核心问题

无论拿到什么数据,你都需要回答这6个问题:

序号问题一句话回答如果不检查会怎样
1数据长什么样?看一眼前几行,确认加载正确读错了文件都不知道
2有多少行、多少列?了解数据规模小数据集用大方法、大数据集跑崩内存
3每列是什么类型?数字、文本、还是日期?不该求平均的求了平均,不该做差值的做了差值
4哪些列有缺失?缺了多少?知道数据不完整的地方计算出的平均值是错的、模型报错
5数值分布如何?最大值、最小值、均值、中位数被异常值欺骗、数据范围理解错误
6有哪些唯一值?分类变量有哪些取值脏数据(“北京”和“BJ”共存)没发现

三、逐一拆解6个问题

问题1:数据长什么样?

这个问题问的是:我加载的数据,看起来对吗?

具体做:看表格的前几行(通常是5-10行)

你从这步能发现什么

你能发现的问题实际例子怎么处理
列名不是我预期的那一行第一行是“报表日期:2024年1月”,第二行才是真正的列名告诉AI用正确的行作为列名
文件读错了本应该读订单表,结果读了用户表换正确的文件
数据是乱码名字显示为“å¼ ä¸‰”告诉AI换个编码重新读
分隔符不对整行粘在一起,没有分列告诉AI用正确的分隔符
空行或广告行前几行是公司Logo和报表标题告诉AI跳过这些行

如何向AI描述

“帮我读取这个文件,显示前10行,让我看看数据长什么样”

“这个Excel前3行是无关内容,跳过前3行再读”

核心心法:这一步就像你收到一堆快递,先拆开看一眼里面是什么,别急着往冰箱里塞。


问题2:有多少行、多少列?

这个问题问的是:数据规模有多大?

具体做:获取表格的“形状”——行数 × 列数

知道这个数字后,你能判断什么

行数意味着什么你应该怎么做
< 1000小数据集随便怎么分析都行,不用考虑性能
1,000 - 100,000中等数据集常规分析没问题
100,000 - 1,000,000大数据集注意性能,避免低效操作
> 1,000,000超大数据集可能需要分块处理或用数据库
列数意味着什么你应该怎么做
< 20小特征集好处理
20 - 100中等特征集可能需要做特征筛选
> 100高维数据可能需要降维,注意内存

如何向AI描述

“告诉我这个表格有多少行、多少列”

“这个数据集的规模是多大?”

核心心法:知道数据规模,你就知道自己手里是“自行车”还是“卡车”——决定你用什么方式去开它。


问题3:每列是什么类型?

这个问题问的是:每列存储的是什么类型的数据?

常见的类型及含义

类型名称它代表什么数据举例能做什么操作
整数整数数字,没有小数年龄25、数量3、用户ID加减乘除、求平均、排序
浮点数带小数的数字价格199.5、比例0.85加减乘除、求平均、排序
文本/字符串文字或混合字符姓名“张三”、地址“北京朝阳区”比较是否相等、查找子串、拼接
日期时间时间和日期2024-01-15、2024-01-15 10:30:00计算时间差、提取年月日、排序
分类有限个固定取值性别“男/女”、状态“完成/取消”分组统计、频次分析

为什么类型这么重要?

因为类型决定了你能做什么操作,也决定了不能做什么操作

你想做的事数字类型文本类型
计算平均值✅ 可以做❌ 没有意义(“张三”的平均值是什么?)
比较大小✅ 可以做❌ 没有意义(“张三”比“李四”大?)
查找包含某个字✅ 有些困难✅ 很适合
做加减法✅ 适合❌ 不能做

经典错误案例

  • 把用户ID当成数字,求平均ID(毫无意义)
  • 把手机号当成数字,前面的0丢了
  • 把日期当成文本,无法计算“今天距离注册过了多少天”

常见的问题类型及如何处理

你发现的问题它是什么意思怎么告诉AI
数字列显示为文本数字被误读成了文本“把金额列转成数字类型”
日期列显示为文本日期被误读成了文本“把订单日期列解析成日期格式”
城市列显示为文本但取值很少这其实是个分类变量“把城市列转成分类类型,节省内存”
ID列显示为数字ID不应该当数字用“把用户ID读成字符串类型”

如何向AI描述

“检查每一列的数据类型,看看有没有类型不对的”

“user_id应该是字符串,不是数字,帮我转一下”

“把order_date列从文本转成日期格式”

核心心法:类型决定一切。类型对了,分析才可能对;类型错了,结果一定是错的。


问题4:哪些列有缺失?缺了多少?

这个问题问的是:数据里有多少“空位”?

什么是缺失值:数据表格里某些单元格是空的,原因可能是:

  • 用户没填(年龄、性别)
  • 系统没记录(某些日志没采集到)
  • 数据合并时没匹配上

为什么要关注缺失值

缺失程度影响你的应对
< 5%影响很小可以直接删除缺失的行
5% - 20%有一定影响需要决定“删除”还是“填充”
20% - 50%影响很大填充前需要仔细思考用哪个值填
> 50%该列可能没什么用考虑是否删除整列

缺失值处理的三条原则(提前预告,后续会细讲):

情况建议做法场景举例
缺失很少(<5%)删除缺失的行1万行里缺了100行,删掉不影响
缺失较多但该列重要用某个值填充用平均值填充年龄缺失
缺失很多(>50%)考虑删除整列“备注”列80%都是空,留着意义不大

如何向AI描述

“检查每一列的缺失值数量,告诉我哪些列缺了、缺了多少、占比多少”

“这个表里有哪些列存在空值?”

核心心法:缺失值就像体检报告里的“未检测”——你得知道哪些指标没测到,才能决定是重测、忽略、还是用其他方式推断。


问题5:数值分布如何?

这个问题问的是:数值列的大致情况——最大值、最小值、集中在什么范围?

具体看什么:对于每一列数值数据,看以下指标:

指标它是什么能发现什么问题
计数有多少个非空值确认和总行数的差异
均值平均值是否有极端值拉高或拉低
标准差数据波动程度波动很大说明数据不稳定
最小值最小的那个值是否合理(年龄0?价格负数?)
25%分位数前25%的数据的上限数据分布位置
50%分位数(中位数)中间那个值比均值更抗极端值
75%分位数前75%的数据的上限数据分布位置
最大值最大的那个值是否合理(年龄200?)

你能从这些数字中发现的“异常信号”

你看到的可能的问题应该怎么做
最小值 = 0,但业务上不应该有0数据错误或默认值检查这些0是否合理
最大值 = 999999,远超正常范围有异常值检查是否是录入错误
均值远大于中位数数据右偏,存在很大的极端值用中位数代表“典型值”
均值为负,但金额不应该为负有错误数据检查负数是否合理
标准差非常大数据波动很大看是否存在异常值或分组差异
年龄列 min=0, max=200明显的数据错误需要清洗异常值

一个具体例子:收入数据

场景均值中位数说明
正常分布80007500均值和中间值接近,数据正常
老板加入了数据150007500均值被拉高,中位数更能代表“典型员工”
录入错误(一个999999)严重偏离7500均值完全失真,中位数还能用

如何向AI描述

“对数值列做描述性统计分析,告诉我均值、标准差、最大最小值、以及各分位数”

“检查年龄列有没有异常值,比如小于0或大于120的”

“看看金额列的最大值是否合理,有没有异常的极高值”

核心心法:不要相信任何一个数字,直到你检查过它的分布。一个异常值就能让均值完全失真。


问题6:有哪些唯一值?

这个问题问的是:文本/分类列里,都有哪些不同的取值?

具体看什么

操作它做什么能发现什么问题
列出唯一值显示该列所有不同的取值发现脏数据、理解分类
统计唯一值个数看有多少种不同的取值判断是分类变量还是连续文本
统计每个值的频次每个值出现多少次看分布是否均匀、哪个值最多

你能发现的问题

你看到的可能的问题应该怎么做
“北京”、“北京市”、“BJ”同时存在同一含义的不同写法统一成一种写法
“男”、“Male”、“M”性别字段脏数据标准化
状态列有“已完成”、“完成”、“完毕”枚举值不统一统一
年龄列有100多个唯一值年龄应该是连续变量不是分类不需要当分类看
某值出现比例极高(如95%是“正常”)类别不平衡分析时注意少数类
应该只有“是/否”的列出现“√”、“1”、“Y”取值不规范统一

一个具体例子:城市列的数据质量检查

假设你在分析用户数据,查看“城市”列的唯一值:

唯一值:["北京", "北京市", "BJ", "beijing", "上海", "上海市", "广州", "深圳"]

问题:北京出现了4种不同的写法!这会导致:

  • 统计北京用户数量时只能数到“北京”那部分,漏掉了其他写法
  • 分组分析时会产生虚假的多个组

解决方案:告诉AI“把城市列中所有指向北京的值统一成‘北京’”。

如何向AI描述

“列出城市列的所有唯一值”

“统计每个城市的用户数量,按从高到低排序”

“检查状态列有哪些不同的取值,看看有没有不规范的写法”

核心心法:分类变量只有在取值规范时才有意义。脏数据会让你的分组和统计完全失准。


四、体检清单速查卡

序号问题核心检查点异常信号一句话告诉AI
1数据长什么样?前几行内容乱码、列名错位、读错文件“显示前10行”
2有多少行、多少列?数据规模太大或太小“告诉我行数和列数”
3每列是什么类型?数据类型类型与业务含义不符“检查每列的数据类型”
4哪些有缺失?缺失数量和占比缺失过多“检查缺失值情况”
5数值分布如何?最大/最小/均值/中位数范围异常、均值偏离中位数“对数值列做描述性统计”
6有哪些唯一值?唯一值列表和频次同义异写、取值不规范“列出城市列的唯一值”

五、完整体检报告示例

假设你拿到一份“用户订单数据”,体检后你应该能回答:

【数据体检报告】 1. 数据概况:891行 × 12列 2. 类型检查: - 正常:乘客ID、票价等是数字 - 异常:年龄列是文本类型,需要转数字 - 异常:登船时间列是文本,应该是日期 3. 缺失检查: - 年龄列:177个缺失(占20%),需要填充 - 船舱号列:687个缺失(占77%),考虑删除 - 登船港口列:2个缺失(占0.2%),影响很小 4. 数值分布检查(票价列): - 最小值:0 → 不合理,票价不能为0 - 最大值:512 → 合理范围内 - 均值:32,中位数:14 → 均值>中位数,存在高价票拉高均值 5. 唯一值检查(登船港口列): - 唯一值:['S', 'C', 'Q'] → 规范 - 唯一值(性别列):['male', 'female'] → 规范 【体检结论】 - 需要处理:年龄类型转换、年龄缺失填充、票价0值检查 - 建议删除:船舱号列(缺失太多) - 可忽略:登船港口的2个缺失

六、如何向AI描述体检需求(提示词模板汇总)

你的需求你应该这样告诉AI
完整体检“帮我做数据体检:显示前几行、基本信息和缺失值、数值列统计、分类列唯一值”
快速扫描“快速看一下这张表的基本情况”
检查类型“检查每列的数据类型是否正确”
检查缺失“哪些列有缺失值?缺了多少?占比多少?”
检查数值“对数值列做描述性统计,有没有异常值?”
检查分类“检查分类列的唯一值,有没有不规范的写法?”

七、本章总结

6个核心问题(必须记住)

  1. 数据长什么样?→ 看一眼前几行
  2. 有多少行、多少列?→ 知道数据规模
  3. 每列是什么类型?→ 数字/文本/日期决定能做什么操作
  4. 哪些有缺失?→ 知道数据不完整的地方
  5. 数值分布如何?→ 最大/最小/均值/中位数
  6. 有哪些唯一值?→ 分类变量有哪些取值

核心心法

“拿到数据,先体检,后分析”——这是区分“新手”和“老手”的第一道分水岭。

  • 新手:急着跑模型、做图表
  • 老手:先花5分钟体检,确认数据没问题再动手

体检花的5分钟,能帮你省下后续5小时的返工时间。


思考题

  1. 你刚读取了一个CSV文件,用head()查看前5行,发现第一行显示“## 2024年销售报表”,第二行显示“导出时间:2024-01-15”,第三行才是列名。这意味着什么?你应该怎么办?

  2. info()显示“年龄”列有200个非空值,但总行数是1000行。这说明什么?缺失比例是多少?应该怎么办?

  3. describe()显示“金额”列的最小值是-100,最大值是999999,均值是5000,中位数是300。你能从中发现哪些异常信号?

  4. value_counts()查看“城市”列,发现有“北京”、“北京市”、“BJ”、“北平”四种写法。这会导致什么问题?你应该怎么处理?

  5. 你拿到一张1000万行、50列的数据集。在用info()describe()之前,你应该先问哪个问题?为什么?


下一节预告:3.2 工具速查 —— 用什么工具完成这6个体检项目?head()info()describe()value_counts()……每个工具是干嘛的、输出长什么样?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 23:51:05

2026年青岛揭秘:哪家AI搜索排名优化公司口碑独占鳌头?

2026年青岛AI搜索排名优化公司口碑之选&#xff1a;青岛玖诚智行人工智能有限公司在青岛AI搜索排名优化领域&#xff0c;青岛玖诚智行人工智能有限公司凭借其深厚的技术积累、全链路服务能力及优质客户口碑&#xff0c;成为企业数字化转型的口碑标杆。以下从技术实力、服务生态…

作者头像 李华
网站建设 2026/5/12 23:49:07

ICC II里做CTS,除了点‘clock_opt’,这些隐藏选项你真的都配好了吗?

ICC II时钟树综合实战&#xff1a;CTS隐藏选项配置全解析与QoR调优指南 在超大规模集成电路设计中&#xff0c;时钟树综合&#xff08;CTS&#xff09;的质量直接影响芯片性能、功耗和面积三大关键指标。当项目进展到后期阶段&#xff0c;工程师常会遇到这样的困境&#xff1a;…

作者头像 李华
网站建设 2026/5/12 23:45:53

Taotoken用量看板如何帮助团队清晰管理大模型支出

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板如何帮助团队清晰管理大模型支出 1. 引言 在团队协作开发中&#xff0c;接入多个大模型服务时&#xff0c;成本管…

作者头像 李华
网站建设 2026/5/12 23:45:48

PADS 高效覆铜实战:巧用平面区域与覆铜管理器搞定电源完整性

PADS高效覆铜实战&#xff1a;电源完整性优化与平面区域深度应用 在高速PCB设计中&#xff0c;电源完整性往往成为制约系统稳定性的关键瓶颈。当信号速率突破1GHz或电流超过10A时&#xff0c;传统简单的覆铜方式已难以满足低阻抗电源分配网络(PDN)的需求。PADS Professional作为…

作者头像 李华
网站建设 2026/5/12 23:39:18

RAG面试8大高频问题深度解析:从入门到实战,助你拿下AI应用开发Offer!

本文针对RAG技术栈的求职者&#xff0c;整理了8个常见的面试高频问题及参考答法&#xff0c;涵盖RAG搭建、低代码与高代码选择、项目经验撰写技巧、向量距离与相似度、简历内容、大模型性能测试、非编码者应对策略及知识库更新方案。文章强调真实场景应用的重要性&#xff0c;建…

作者头像 李华