数据分析师如何使用 Claude Code
数据分析师日常面临大量重复性工作:数据清洗、报表生成、可视化代码编写。Claude Code 可以将这些任务自动化,让分析师专注于数据洞察和业务价值挖掘。
一、数据分析师的核心场景
| 场景 | 传统方式 | Claude Code 方式 |
|---|---|---|
| 数据清洗 | 手动写 pandas 代码 | AI 生成+迭代优化 |
| SQL 查询 | 查阅文档手写 | AI 辅助生成 |
| 报表生成 | Excel 重复操作 | 自动化脚本 |
| 可视化 | 查 matplotlib 文档 | AI 生成图表代码 |
| 数据验证 | 人工核对 | 自动化校验脚本 |
二、环境配置
基础环境
# 创建数据分析环境
python -m venv ~/py-env-data
source ~/py-env-data/bin/activate
# 安装核心库
pip install pandas numpy matplotlib seaborn jupyterlab openpyxl
项目配置
在数据分析项目目录创建 CLAUDE.md:
# 数据分析项目配置
## 技术栈
- Python 3.11+
- pandas / numpy
- matplotlib / seaborn
- Jupyter Notebook
## 数据规范
- CSV 编码:UTF-8
- 日期格式:YYYY-MM-DD
- 金额:人民币元,保留两位小数
- 缺失值:NaN 或 NULL
## 输出规范
- 图表 DPI:150
- 图表尺寸:10x6 inches
- 图表风格:seaborn whitegrid
## 常用路径
- 原始数据:/data/raw/
- 处理数据:/data/processed/
- 输出报告:/reports/
三、实战场景
场景 1:数据清洗
claude -p "生成 Python 代码,对 sales_2026.csv 进行清洗:
要求:
1. 读取 CSV,处理 UTF-8 编码
2. 删除重复行
3. 处理缺失值(数值列用中位数填充,文本列用众数填充)
4. 统一日期格式
5. 保存到 /data/processed/sales_cleaned.csv"
场景 2:SQL 查询生成
claude -p "为以下业务问题生成 SQL 查询:
数据库:PostgreSQL
业务问题:统计2026年Q1每个月的活跃用户数(DAU)、订单数和GMV
表结构:
- user_logs(user_id, login_time)
- orders(user_id, order_time, amount)
要求:输出可执行的 PostgreSQL SQL"
场景 3:自动化报表脚本
claude -p "生成 Python 脚本,每周自动生成销售报表:
数据源:/data/processed/sales_cleaned.csv
报表内容:
1. 本周 vs 上周 GMV 对比
2. Top 10 畅销商品
3. 各地区销售分布
4. 生成图表保存到 /reports/
5. 导出 PDF"
场景 4:可视化代码
claude -p "生成 matplotlib 代码:
数据:df[['region', 'sales', 'profit']]
图表:分组柱状图
要求:
1. 显示各地区销售额和利润对比
2. 添加数值标签
3. 中文显示
4. 保存为 PNG"
场景 5:数据验证脚本
claude -p "生成数据验证脚本,检测 sales 数据异常:
规则:
1. 销售额为负数 → 异常
2. 利润率 > 100% 或 < -50% → 异常
3. 订单日期在未来 → 异常
4. 同一用户单日订单数 > 100 → 异常
输出:异常记录列表 + 统计报告"
四、Python 分析代码模板
数据读取模板
import pandas as pd
import numpy as np
from datetime import datetime
def load_data(filepath, encoding='utf-8'):
"""加载数据,自动处理常见编码问题"""
try:
df = pd.read_csv(filepath, encoding=encoding)
except UnicodeDecodeError:
df = pd.read_csv(filepath, encoding='gbk')
return df
def clean_data(df):
"""基础数据清洗"""
# 删除重复行
df = df.drop_duplicates()
# 数值列填充
for col in df.select_dtypes(include=[np.number]).columns:
df[col] = df[col].fillna(df[col].median())
return df
报表生成模板
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']
plt.style.use('seaborn-v0_8-whitegrid')
def generate_weekly_report(df, output_dir):
"""生成周报"""
# 计算指标
gmv = df['amount'].sum()
orders = len(df)
dau = df['user_id'].nunique()
# 生成图表
fig, axes = plt.subplots(2, 2, figsize=(12, 10))
# ... 图表代码
plt.savefig(f'{output_dir}/weekly_report.png', dpi=150)
return {'gmv': gmv, 'orders': orders, 'dau': dau}
五、数据分析师 CLAUDE.md 模板
# 数据分析配置
## 数据源
- CRM 系统导出:/data/crm/
- 订单系统:/data/orders/
- 用户行为:/data/logs/
## 关键指标定义
- GMV:订单金额总和
- DAU:独立用户数
- 转化率:下单用户/访问用户
## 报表周期
- 日报:T-1 数据
- 周报:每周一生成
- 月报:每月第一个工作日
## 可视化规范
- 中文字体:SimHei
- 颜色方案:品牌色 #258fb8
- 图表风格:简洁白底
六、效率提升数据
| 任务 | 手动耗时 | Claude Code 耗时 | 提升 |
|---|---|---|---|
| 数据清洗代码 | 40 分钟 | 8 分钟 | 5x |
| SQL 查询编写 | 30 分钟 | 5 分钟 | 6x |
| 可视化代码 | 35 分钟 | 7 分钟 | 5x |
| 数据验证脚本 | 25 分钟 | 5 分钟 | 5x |
| 周报自动化 | 60 分钟 | 10 分钟 | 6x |
Claude Code 让数据分析师从重复代码中解放出来,将更多时间投入到数据洞察和业务沟通中。
相关外部链接
| 资源 | 链接 | 说明 |
|---|---|---|
| pandas 文档 | https://pandas.pydata.org/docs/ | Python 数据分析库 |
| matplotlib 文档 | https://matplotlib.org/stable/ | Python 可视化库 |
| JupyterLab 官网 | https://jupyterlab.readthedocs.io/ | 交互式开发环境 |
| PostgreSQL 文档 | https://www.postgresql.org/docs/ | SQL 查询参考 |
| Claude Code 数据分析 | https://docs.anthropic.com/zh-CN/claude-code | Python/SQL 集成示例 |