数据获取与清洗
CSV/Excel/SQL/API + AI 清洗脚本
AI 清洗工作流
数据清洗占据了分析师 80% 的时间。利用 AI,我们可以将这个过程自动化。核心思路是:Profiling(概览) -> Diagnosing(诊断) -> Fixing(修复)。
AI 数据清洗流程图
场景 1:自动修复脏数据
面对格式不统一(如日期格式混杂、地名拼写错误)的数据,传统正则极其痛苦。AI 可以通过语义理解自动修复。
使用 LLM 修复非标准数据的伪代码思路
import pandas as pd
from openai import OpenAI
# 脏数据示例:['2024/01/01', 'Jan 2, 2024', '2024-03-05', '昨天']
def intelligent_date_parser(date_str):
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "你是数据清洗专家。将用户输入的日期字符串转换为 YYYY-MM-DD 格式。若无法解析返回 None。"},
{"role": "user", "content": date_str}
]
)
return response.choices[0].message.content
# 实际生产中建议批量处理 (Batch Processing) 以节省 Token 和时间场景 2:智能缺失值填充
- 传统方法: 填 0,填均值,填中位数。
- AI 方法: 根据行上下文语义填充。例如,职位是 "Senior Engineer",薪资缺失,AI 可以根据同类职位估算一个合理的薪资范围填入,比均值更准确。
⚠️ 注意
风险提示: AI 填充的数据是"推测"的,必须标记为 synthesized 或 imputed,严禁直接混入原始数据用于关键决策。
Prompt 模板:数据概览与清洗建议
💡 复制即用的 Prompt
我有一个数据集,包含以下列:[列名列表]。
请帮我编写一个 Python Polars 脚本,执行以下清洗步骤:
1. 检查并统计每一列的缺失值比例。
2. 对 "age" 列的异常值(超过 3 倍标准差)进行识别。
3. 将 "created_at" 转换为 datetime 格式,处理时区问题。
4. 输出一份简短的数据质量报告。
数据字典模板
Data Dictionary
| 字段名 | 含义 | 类型 | 口径/规则 | 示例 | | --- | --- | --- | --- | --- | | order_id | 订单 ID | string | 主键 | O20240101 | | amount | 订单金额 | int | 单位:分 | 1299 | | created_at | 创建时间 | datetime | UTC 时间 | 2024-01-01 01:23:45 |
质量报告结构
- 缺失值: 按字段统计缺失比例,超过 5% 的字段单独标注。
- 异常值: 使用箱线图或 3 倍标准差识别,输出 Top 10 异常行。
- 一致性: 检查枚举字段是否存在非法值。
- 重复: 主键是否重复、是否存在重复订单。