数据分析中 80% 的时间花在数据清洗和探索上—— Claude Code 能把这些重复工作压缩到原来的 1/3,让你专注于洞察和决策。
环境配置
CLAUDE.md 数据分析专项配置
markdown
# CLAUDE.md(数据分析项目)
## 技术栈
- Python 3.12
- 核心库:pandas 2.x, numpy, scipy
- 可视化:matplotlib, seaborn, plotly(交互图表)
- 机器学习:scikit-learn, xgboost
- Notebook:jupyter lab
## 数据目录结构
data/
raw/ # 原始数据(只读,不修改)
processed/ # 清洗后数据
output/ # 分析结果和图表
notebooks/ # Jupyter Notebook
src/ # 可复用的 Python 模块
## 约定
- 所有图表保存到 data/output/,文件名格式:YYYYMMDD_描述.png
- 数据清洗操作记录在 notebooks/data_cleaning.ipynb
- 不直接修改 data/raw/ 中的原始数据
- 大型数据集(>100MB)使用 chunked 读取
## 常用数据文件
- sales_2025.csv:主要销售数据(订单级别)
- users.parquet:用户基本信息与 Jupyter 配合使用
bash
# Claude Code 在终端,Jupyter 在浏览器
# 两者共享同一工作目录
# 终端:用 Claude 生成分析代码
claude "读取 data/raw/sales.csv,做完整的 EDA 探索,生成 Jupyter Notebook"
# Claude 生成 notebooks/eda_sales.ipynb 后,浏览器中打开运行
jupyter lab notebooks/eda_sales.ipynb自然语言驱动数据探索
一键生成完整 EDA 报告
你:读取 data/raw/sales_2025.csv,帮我做完整的探索性数据分析(EDA),包括:
1. 数据基本信息(行数、列数、数据类型、缺失值)
2. 数值列的描述性统计(均值/中位数/标准差/分位数)
3. 分类列的值分布(top 10)
4. 关键字段的分布图(直方图 + 箱线图)
5. 相关性热力图
6. 异常值检测(IQR 方法)
7. 关键发现总结
生成为 notebooks/eda_sales.ipynb,图表同时保存到 data/output/
Claude:
[自动读取文件,生成完整 Jupyter Notebook,包含所有分析代码和图表]
数据清洗脚本生成
你:sales.csv 有以下质量问题(我查了一遍):
- order_date 列是字符串,需要转为 datetime
- amount 列有 '¥1,234.56' 格式,需要转为 float
- customer_name 列有很多 ' ' 空格和大小写不统一
- product_id 有 NaN,需要填充为 'UNKNOWN'
- 重复订单(同一 order_id 出现多次,保留第一条)
帮我写数据清洗脚本,保存到 data/processed/sales_clean.parquet
Claude:
```python
import pandas as pd
import re
df = pd.read_csv('data/raw/sales.csv')
# 1. 日期转换
df['order_date'] = pd.to_datetime(df['order_date'], errors='coerce')
# 2. 金额清洗
df['amount'] = df['amount'].astype(str)
df['amount'] = df['amount'].str.replace(r'[¥,]', '', regex=True)
df['amount'] = pd.to_numeric(df['amount'], errors='coerce')
# 3. 客户名标准化
df['customer_name'] = df['customer_name'].str.strip().str.title()
# 4. 填充缺失值
df['product_id'] = df['product_id'].fillna('UNKNOWN')
# 5. 去重(保留第一条)
df = df.drop_duplicates(subset='order_id', keep='first')
df.to_parquet('data/processed/sales_clean.parquet', index=False)
print(f"清洗完成:{len(df)} 行,保存到 data/processed/sales_clean.parquet")
业务分析提问模板
销售分析
你:基于 sales_clean.parquet,分析以下问题:
1. 月度销售额趋势(折线图)
2. Top 10 产品销售额占比(水平条形图)
3. 不同地区的销售额对比(颜色区分)
4. 客单价分布(直方图,标注均值和中位数)
每张图都要有标题、轴标签和数据标注
用户行为分析
你:分析用户留存:
- 按注册月份做用户留存分析(Cohort Analysis)
- 生成热力图,X 轴是注册后第 N 月,Y 轴是注册月份
- 用百分比显示,红绿色阶(红色=低留存,绿色=高留存)
让 Claude 解读统计结果
你:我做了 A/B 测试,结果如下:
对照组:转化率 12.3%,n=5420
实验组:转化率 14.1%,n=5380
帮我做显著性检验,判断差异是否统计显著,
以及实验组提升效果的置信区间
Claude:
使用双比例 z 检验:
z-score = 3.47,p-value = 0.0005 < 0.05
结论:差异在 99% 置信水平下统计显著
效果量(提升):14.1% - 12.3% = 1.8%
95% 置信区间:[0.77%, 2.83%]
推荐:可以自信地推全量,预期带来约 1.8% 的转化率提升
机器学习辅助
你:我要预测用户是否会流失(二分类问题),
特征包括:登录频率、最近活跃天数、订单数量、客单价。
请帮我:
1. 推荐 3 个适合的模型,说明各自优劣
2. 写完整的训练代码(含特征工程、模型训练、交叉验证、特征重要性)
3. 推荐最适合我这个场景(样本量约 5 万)的模型
Claude:推荐:逻辑回归(基线)、随机森林、XGBoost
[输出完整的 sklearn Pipeline 代码]
最推荐:XGBoost(样本量适中,效果通常最好)
来源:Claude Code 官方文档 - docs.anthropic.com/en/docs/claude-code