Install
openclaw skills install famou-data-analysis数据分析技能,用于理解数据、分析数据、制作数据处理流程、汇总数据分析结果。当用户提到"分析数据"、"数据处理"、"数据探索"、"统计分析"、"数据清洗"、"数据汇总"、"制作数据报告"、"理解这份数据"、"看一下这个CSV/Excel/数据集"时,必须使用此技能。即使用户只说"帮我看看这个数据"、"分析一下",只...
openclaw skills install famou-data-analysis数据分析任务的核心目标是:
在分析过程中,始终遵守以下约束:
拿到数据后,优先弄清楚背景:数据的业务场景是什么?用户的分析目的是什么?这决定了哪些列重要、什么算"异常"、如何处理缺失值。
不要只输出统计数字,要解释它们的含义。"均值是 3200"不如"平均订单金额约 3200 元,但中位数仅 1800 元,说明存在少量高额订单拉高了均值"。
每一步操作都要能回答"为什么这样做",例如:
每个洞察后面都应该跟上具体数字作为依据,避免主观判断。
/mnt/user-data/uploads/,输出文件保存到 /mnt/user-data/outputs/utf-8,失败则尝试 gbk / gb18030matplotlib.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans']encoding='utf-8-sig' 防止乱码无论分析路径如何,最终汇总报告应包含:
## 数据分析报告
### 数据概况
(数据规模、来源、时间范围、核心字段说明)
### 数据质量
(发现的问题、严重程度、已做处理或待确认事项)
### 核心发现
(3-5 条最重要的洞察,每条附数据支撑)
### 处理流程说明
(对数据做了哪些变换,为什么这样做)
### 后续建议
(数据改进建议、可深入分析的方向)
以下示例展示了面对不同类型数据时,如何应用上述目标和约束进行分析。
场景:用户上传一份订单 CSV,列包括订单 ID、下单时间、商品类别、金额、用户城市、支付状态,想了解"销售整体情况"。
分析思路:
质量问题处理示例:
发现"金额"列有 12 行为负值。在销售数据中,负值通常代表退款记录。建议:若分析销售额,过滤掉负值;若分析净收入,需要保留。请确认分析目标后再处理。
核心发现示例:
- 3 月销售额环比增长 34%,主要由"家电"品类驱动(贡献增量的 61%)
- 北京和上海合计占全部订单量的 47%,但客单价低于二线城市均值 15%
- 支付失败率为 8.3%,高于行业参考值(通常 2-5%),建议排查支付链路
场景:用户上传一份 Excel,多个 Sheet,列名不统一(有的叫"Q1",有的叫"第一题"),部分单元格合并,有空行空列。
首要步骤:不急于分析,先向用户说明数据结构问题:
这份文件包含 3 个 Sheet,结构存在以下问题需要先确认:
- Sheet1 和 Sheet2 的列名不一致,是同一份问卷的不同批次,还是不同问卷?
- 第 5-8 行为空行,是否可以删除?
- "Q3_其他"列 92% 为空,是开放题填写率低,还是导出时出了问题?
确认后我来制定清洗方案。
体现约束:这里不假设列名含义,不擅自合并 Sheet,先暴露问题等用户确认。
处理流程文档示例(随输出文件一起提供):
数据处理流程记录
原始文件:sales_2024.csv(8,412 行 × 15 列)
处理后文件:sales_2024_cleaned.csv(8,203 行 × 13 列)
变更说明:
1. 删除重复行:移除 89 行完全重复记录
2. 删除"备注2"列:缺失率 96%,无有效信息
3. 删除"内部编码"列:用户确认该列不参与分析
4. 金额列格式统一:将"¥1,200.00"格式转为数值 1200.0(共 203 行受影响)
5. 日期列标准化:统一转为 YYYY-MM-DD 格式(原始混有 MM/DD/YYYY 和中文日期两种格式)
6. 缺失值处理:
- "城市"列 34 行缺失 → 填入"未知"(用户确认)
- "金额"列 86 行缺失 → 保留为空(用户确认这批订单为异常记录,不填充)