拿到一堆数据不知道怎么分析?丢数据进来,自动生成Python分析代码并执行,输出可视化图表和结论。统计建模、时间序列、机器学习全覆盖。不用你会写代码,只要会提问就行。 触发词:数据分析、Python分析、统计分析、数据可视化、数据建模、回归分析、相关性分析、数据清洗、机器学习、聚类分析、预测分析、数据报告 排除:...
---
name: python-data-analysis
version: 1.4.0
description: |
拿到一堆数据不知道怎么分析?丢数据进来,自动生成Python分析代码并执行,输出可视化图表和结论。统计建模、时间序列、机器学习全覆盖。不用你会写代码,只要会提问就行。
触发词:数据分析、Python分析、统计分析、数据可视化、数据建模、回归分析、相关性分析、数据清洗、机器学习、聚类分析、预测分析、数据报告
排除:纯Python编程(无数据)、Excel操作(用excel_master)、数据库管理、网页爬虫
---
# Python数据分析 📊
## 触发条件
### ✅ 匹配关键词(满足任一即触发)
**分析类型词**:
- 描述统计、均值、方差、分布、频次、交叉表
- 假设检验、t检验、卡方检验、ANOVA、p值、显著性
- 回归分析、线性回归、逻辑回归、R²、预测
- 聚类分析、K-Means、肘部法则、轮廓系数
- 相关性分析、协方差、Pearson、Spearman
- 时间序列、趋势、季节性、ARIMA、预测
- 数据清洗、缺失值、异常值、去重、标准化
**动作词**:
- 分析、做个分析、分析一下、数据报告
- 可视化、画图、制图、生成图表
- 建模、训练模型、预测
- 对比分析、差异分析、同比环比
**场景词**:
- CSV分析、Excel数据分析、JSON解析
- 用户分析、销售分析、运营分析
- A/B测试结果分析、问卷分析
### ❌ 排除关键词(明确不触发)
- 纯Python编程(无数据分析)→ 拒绝
- Excel操作、公式、VBA → 用 excel_master
- 数据库SQL查询 → 拒绝
- 网页爬虫、数据采集 → 拒绝
- 深度学习、神经网络训练 → 拒绝
- 大数据Spark/Hadoop处理 → 拒绝
### 🎯 上下文条件
- 提供CSV/Excel文件 → 直接加载分析
- 提供API/URL → 先获取数据再分析
- 说"模拟数据"/"示例" → 生成模拟数据演示
- 说"快速"/"简单" → 简化流程,只做核心分析
- 说"详细"/"完整"/"专业" → 完整5步流程
---
## 核心流程(5 Steps)
### Step 1: 需求理解 ✓ 校验点
**输入**:用户分析需求
**处理**:
1. 识别分析类型:描述统计/假设检验/回归/聚类/时间序列
2. 确认数据来源:文件路径/URL/模拟数据
3. 确认输出要求:图表数量/格式/报告深度
**校验**:
- 数据源是否存在且可读
- 分析类型是否支持
- 数据量是否合理(>10行)
**输出**:确认的分析计划
### Step 2: 数据加载与探查 ✓ 校验点
**处理**:
1. 读取数据(自动识别格式:CSV/Excel/JSON/Clipboard)
2. 输出数据概览:`shape/dtypes/缺失值/基本统计`
3. 识别数据质量问题
**校验**:
- 文件编码(UTF-8/GBK/ISO)
- 列名是否规范
- 数据类型是否符合分析需求
**异常处理**:
- 编码错误:自动尝试UTF-8/GBK/Latin1
- 缺失值:报告缺失率(<5%警告,>30%建议删除)
- 离群值:使用IQR/Z-score检测
**输出**:数据质量报告
### Step 3: 分析代码生成 ✓ 校验点
**处理**:
1. 根据分析类型生成Python代码
2. 代码必须包含:import/数据加载/分析/可视化/保存
3. 添加异常处理和日志输出
**代码规范**:
```
- 依赖库:pandas/numpy/matplotlib/seaborn/scipy/sklearn/statsmodels
- 图表风格:seaborn白色主题,中文显示
- 图表DPI:150,保存为PNG
- 中文配置:plt.rcParams['font.sans-serif'] = ['SimHei']
```
**校验**:
- 代码语法正确
- 依赖库完整
- 可视化配置正确
**输出**:可执行Python代码
### Step 4: 执行与迭代 ✓ 校验点
**处理**:
1. 执行代码,超时60秒
2. 检查执行结果
3. 如出错,自动修正重试(最多3次)
4. 根据中间结果调整分析方向
**分支处理**:
- 执行成功 → 进入Step 5
- 执行失败 → 输出错误信息,询问用户是否重试
- 超时 → 分批处理或采样
**输出**:执行结果和图表
### Step 5: 结论输出 ✓ 校验点
**处理**:
1. 生成可视化图表(保存PNG到output目录)
2. 输出分析结论(自然语言总结)
3. 提供数据驱动建议
**质量检查**:
- 图表是否清晰可读
- 结论是否有数据支撑
- 建议是否可执行
**输出**:完整分析报告
---
## 输出模板
### 模板A:简洁版(快速分析)
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 快速分析报告 | {分析目标}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 数据概览
样本量:{N} | 特征数:{M}
## 核心发现
{发现1}({数据支撑})
{发现2}({数据支撑})
## 图表
{图表1} | {图表2}
## 结论
{一句话总结}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
### 模板B:完整版(详细分析)
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 数据分析报告 | {分析目标}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
## 数据概览
- 样本量:{N} | 特征数:{M}
- 缺失率:{X}%
- 数据类型分布:{分布}
## 质量检查
- ✅ 编码:UTF-8
- ✅ 缺失值:{处理方式}
- ⚠️ 离群值:{检测数量}个(已{处理方式})
## 核心发现
1. **{发现1标题}**
- 数据:{具体数值}
- 解读:{含义}
2. **{发现2标题}**
- 数据:{具体数值}
- 解读:{含义}
3. **{发现3标题}**
- 数据:{具体数值}
- 解读:{含义}
## 统计分析
| 指标 | 数值 | 显著性 |
|------|------|--------|
| {指标1} | {值} | {p值} |
| {指标2} | {值} | {p值} |
## 可视化图表
{图表列表(含文件路径)}
## 建议
1. **{建议1}**
- 依据:{数据支撑}
- 执行:{具体步骤}
2. **{建议2}**
- 依据:{数据支撑}
- 执行:{具体步骤}
## 技术附录
- 分析代码:`analysis_{timestamp}.py`
- 执行时间:{耗时}秒
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
---
## 边界约束
### 数据安全
- ✅ 不上传数据到外部服务
- ✅ 本地处理,文件不外传
- ✅ 分析完成后清理临时数据
### 内存与性能
- ✅ 单次分析数据量:≤100MB
- ⚠️ 100MB-1GB:先采样再分析
- ❌ >1GB:拒绝,建议分批处理
- ✅ 单次执行超时:60秒
- ⚠️ 超时:自动分批处理
### 输入校验
- ❌ 空文件:拒绝
- ❌ <10行数据:警告,结果可能不准确
- ❌ 二进制文件:拒绝
- ❌ 加密文件:拒绝
### 异常情况
| 异常 | 处理方式 |
|------|----------|
| 文件不存在 | 提示检查路径 |
| 编码错误 | 自动尝试多种编码 |
| 列名冲突 | 自动重命名 |
| 数据类型错误 | 尝试转换,失败则跳过 |
| 除零错误 | 返回NaN并提示 |
| 图表生成失败 | 输出纯文本表格替代 |
### 不支持场景
- ❌ 实时流数据处理
- ❌ 自然语言处理(NLP)
- ❌ 图像/视频分析
- ❌ 深度学习模型训练
- ❌ 分布式计算(Spark/Hadoop)
- ❌ 金融高频交易数据
---
## 示例
### ✅ 正向示例
**输入**:分析这份销售数据,找出影响业绩的关键因素
**输出**:
1. 加载数据,完成概览输出
2. 相关性分析,生成热力图
3. 回归分析,识别显著因素
4. 输出完整报告
### ✅ 反向示例(用户意图模糊)
**输入**:分析一下
**输出**:
请提供更多信息:
1. 数据来源?(文件路径/粘贴数据/模拟演示)
2. 分析目标?(描述统计/找规律/预测/对比)
3. 输出要求?(图表/报告/详细程度)
### ✅ 边界示例(数据质量差)
**输入**:分析这个CSV,但有30%的缺失值
**输出**:
数据质量警告:
- 缺失率:30%(偏高)
建议:
1. 删除缺失率>50%的列
2. 对数值列用中位数填充
3. 对分类列用众数填充
是否按建议处理?
### ✅ 边界示例(数据量小)
**输入**:只有5行数据,也要分析
**输出**:
数据量警告:样本量仅5条
- 统计结论可能不显著
- 建议增加样本量
是否继续分析?(结果仅供参考)
---
## Output Language
中文输出
## Anti-rationalization
| 借口 | 正确做法 |
|------|----------|
| "数据量小,跳过数据质量检查直接分析" | 必须完成Step 2数据探查:输出shape/dtypes/缺失值/基本统计,即使数据量<100行也要执行 |
| "缺失值直接dropna删掉就好" | 必须先报告缺失率,<5%可删除,5-30%需评估填充策略,>30%必须告知用户并建议处理方案 |
| "图表用matplotlib默认样式就行" | 必须配置:seaborn白色主题、DPI=150、中文SimHei字体、合理的图表尺寸,禁止使用默认样式 |
| "分析结论写'数据整体呈上升趋势'就行" | 每条结论必须有具体数据支撑(数值+百分比),禁止无数据引用的笼统描述 |
| "代码报错了就告诉用户执行失败" | 执行失败必须自动修正重试(最多3次),常见错误(编码/类型转换/缺失值)应自动处理 |
| "相关性分析看看热力图就够了" | 如用户要求深度分析,必须补充统计检验(p值)、回归分析(R²)、异常值检测(IQR/Z-score) |
| "数据量超过100MB,拒绝分析" | 100MB-1GB应自动采样分析并在报告中说明采样策略,只有>1GB才拒绝并建议分批方案 |
don't have the plugin yet? install it then click "run inline in claude" again.