data-analysis · v2.0 · 2026-02-07 · sha256 29e5c4d0c4299701
data-analysis v2.0A
Immutable. This exact content is served forever at /api/v1/blob/29e5c4d0c4299701.
---
name: data-analysis
description: 高级数据分析工具,使用 pandas 进行全面的数据统计分析。支持多种数据格式输入和丰富的分析操作,包括描述性统计、汇总统计、聚合分析、相关性分析和分组分析。
license: MIT
compatibility: Requires Python 3.8+ with pandas, numpy
metadata:
author: skillLite
version: "2.0"
category: data-analysis
tags: [data, analysis, statistics, pandas, python]
---
# Data Analysis Skill
高级数据分析工具,提供全面的数据统计和分析功能。适用于数据分析师、研究人员、开发者和任何需要处理和分析数据的用户。
## 🎯 使用场景
### 何时使用本技能
- 需要对数据集进行快速统计分析
- 需要计算数据的描述性统计信息(均值、标准差、分位数等)
- 需要对数据进行聚合操作(求和、平均值、计数等)
- 需要分析不同变量之间的相关性
- 需要按类别分组进行统计分析
- 需要处理多种格式的数据(CSV、JSON、Python数据结构)
### 典型应用场景
1. **业务数据分析**:销售数据统计、客户行为分析
2. **科研数据处理**:实验数据分析、统计检验
3. **金融数据分析**:股票价格分析、风险评估
4. **运营数据分析**:用户活跃度统计、转化率分析
5. **教育数据分析**:学生成绩分析、教学效果评估
## 📊 功能特性
### 数据输入支持
- **CSV文件**:直接读取CSV格式数据文件(支持本地路径)
- **JSON文件**:读取JSON格式数据文件
- **JSON字符串**:解析JSON格式的字符串数据
- **Python数据结构**:直接使用字典或列表数据
### 分析操作类型
1. **描述性统计** (`describe`) - 完整的描述性统计信息(计数、均值、标准差、最小值、25%/50%/75%分位数、最大值)
2. **汇总统计** (`summary`) - 基本统计摘要(计数、均值、标准差、最小值、最大值、数据类型)
3. **聚合分析** (`aggregate`) - 聚合操作(求和、均值、计数、中位数、标准差)
4. **相关性分析** (`correlation`) - 计算数值列的相关性矩阵
5. **分组分析** (`group`) - 按指定列分组进行统计分析
### 高级功能
- **列选择**:可指定分析特定列,提高分析效率
- **分组操作**:按类别列进行分组分析,支持多级分组
- **多种聚合函数**:sum, mean, count, median, std, size
- **错误处理**:完善的错误处理机制,提供详细的错误信息
- **类型安全**:自动处理数据类型,确保分析准确性
## 🚀 快速开始
### 基本用法
```python
# 导入分析函数
from data_analysis import analyze_data
# 分析CSV文件
result = analyze_data("data.csv", "describe")
# 分析JSON数据
json_data = '[{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]'
result = analyze_data(json_data, "summary")
# 分析Python字典
data_dict = {"scores": [85, 90, 78, 92, 88]}
result = analyze_data(data_dict, "aggregate", operation="mean")
```
### 命令行使用
```bash
# 基本描述性统计
python scripts/data_analysis.py sample_data.csv describe
# 指定列进行汇总统计
python scripts/data_analysis.py sample_data.csv summary age salary
# 聚合分析 - 求和
python scripts/data_analysis.py sample_data.csv aggregate sum
# 使用JSON字符串数据
python scripts/data_analysis.py '{"a": [1,2,3], "b": [4,5,6]}' describe
# 分组分析 - 按部门统计
python scripts/data_analysis.py sample_data.csv group department mean salary
```
## 📝 详细使用示例
### 示例1:完整的业务数据分析
```json
{
"data": "sales_data.csv",
"analysis_type": "describe",
"columns": ["revenue", "profit", "quantity", "customer_rating"]
}
```
### 示例2:多维度汇总统计
```json
{
"data": "employee_data.json",
"analysis_type": "summary",
"columns": ["age", "salary", "experience_years", "performance_score"]
}
```
### 示例3:复杂的聚合分析
```json
{
"data": "financial_records.csv",
"analysis_type": "aggregate",
"operation": "sum",
"columns": ["revenue", "expenses", "tax", "net_income"]
}
```
### 示例4:相关性矩阵分析
```json
{
"data": "stock_data.csv",
"analysis_type": "correlation",
"columns": ["open_price", "close_price", "volume", "market_cap", "pe_ratio"]
}
```
### 示例5:多层次分组分析
```json
{
"data": "customer_data.csv",
"analysis_type": "group",
"group_by": "region",
"operation": "mean",
"columns": ["age", "income", "purchase_frequency", "customer_lifetime_value"]
}
```
## ⚙️ 参数详细说明
### `data` 参数
- **类型**: string
- **描述**: 输入数据,支持多种格式:
1. **文件路径**:CSV文件(`.csv`)或JSON文件(`.json`)
2. **JSON字符串**:有效的JSON格式字符串
3. **Python数据结构**:字典或列表的字符串表示
- **示例**: `"data.csv"`, `'[{"x": 1, "y": 2}]'`, `'{"col1": [1,2,3], "col2": [4,5,6]}'`
### `analysis_type` 参数
- **类型**: string
- **默认值**: `"describe"`
- **可选值**:
- `"describe"`: 描述性统计(推荐用于探索性数据分析)
- `"summary"`: 汇总统计(快速查看数据概况)
- `"aggregate"`: 聚合分析(计算总和、平均值等)
- `"correlation"`: 相关性分析(分析变量间关系)
- `"group"`: 分组分析(按类别分析)
### `columns` 参数
- **类型**: array of strings
- **可选**: 是
- **描述**: 指定要分析的列名。如果未提供,则分析所有列。
- **示例**: `["age", "salary", "experience"]`
### `group_by` 参数
- **类型**: string
- **条件**: 仅当 `analysis_type` 为 `"group"` 时必需
- **描述**: 用于分组的列名
- **示例**: `"department"`, `"region"`, `"category"`
### `operation` 参数
- **类型**: string
- **条件**: 当 `analysis_type` 为 `"aggregate"` 或 `"group"` 时使用
- **可选值**:
- `"sum"`: 求和
- `"mean"`: 平均值
- `"count"`: 计数
- `"median"`: 中位数
- `"std"`: 标准差
- `"size"`: 分组大小(仅用于分组分析)
## 📋 Runtime 配置
```yaml
entry_point: scripts/data_analysis.py
language: python
dependencies:
- pandas>=2.0.0
- numpy>=1.24.0
input_schema:
type: object
properties:
data:
type: string
description: "输入数据,可以是:1) 文件路径(CSV/JSON),2) JSON字符串,3) Python字典/列表的字符串表示"
analysis_type:
type: string
description: "分析类型"
enum:
- describe
- summary
- aggregate
- correlation
- group
default: describe
columns:
type: array
items:
type: string
description: "要分析的特定列名(可选,默认分析所有列)"
group_by:
type: string
description: "分组分析的列名(仅用于group分析类型)"
operation:
type: string
description: "聚合操作类型(用于aggregate和group分析)"
enum:
- sum
- mean
- count
- median
- std
- size
required:
- data
```
## 📤 输出格式
所有分析操作都返回JSON格式的结果,结构如下:
### 成功响应
```json
{
"analysis_type": "分析类型",
"operation": "操作类型(如果适用)",
"group_by": "分组列(如果适用)",
"result": {
// 分析结果数据,结构因分析类型而异
"column1": {
"count": 100,
"mean": 50.5,
"std": 10.2,
"min": 20,
"25%": 35,
"50%": 50,
"75%": 65,
"max": 80
}
}
}
```
### 错误响应
```json
{
"analysis_type": "请求的分析类型",
"error": "详细的错误信息",
"suggestion": "可能的解决方案(如果可提供)"
}
```
## 📁 示例数据
技能包含一个完整的示例数据文件 `sample_data.csv`,包含以下字段:
| 字段名 | 类型 | 描述 | 示例值 |
|--------|------|------|--------|
| `name` | string | 员工姓名 | "Alice", "Bob" |
| `age` | integer | 年龄 | 28, 35 |
| `salary` | integer | 薪资(美元) | 50000, 65000 |
| `department` | string | 部门 | "Engineering", "Marketing" |
| `experience_years` | integer | 工作经验年限 | 3, 8 |
### 数据预览
```csv
name,age,salary,department,experience_years
Alice,28,50000,Engineering,3
Bob,35,65000,Marketing,8
Charlie,42,80000,Engineering,15
Diana,31,55000,Sales,5
Eve,29,48000,HR,2
Frank,38,72000,Engineering,12
Grace,45,85000,Marketing,20
Henry,27,46000,Sales,1
Ivy,33,60000,HR,7
Jack,40,78000,Engineering,18
```
## 🛠️ 资源说明
### scripts/
- `data_analysis.py` - 主要数据分析脚本,包含所有分析功能
- `sample_data.csv` - 示例数据文件,用于测试和演示
- `example.py` - 示例脚本,展示基本用法
### references/
- `api_reference.md` - 完整的API参考文档,包含所有函数和参数的详细说明
### assets/
- `example_asset.txt` - 示例资源文件
## 💡 最佳实践
### 1. 数据预处理建议
- 确保数据格式正确,缺失值已处理
- 数值列应为数字类型,分类列应为字符串类型
- 大型数据集建议先进行抽样分析
### 2. 分析策略
- 开始分析前,先使用 `describe` 了解数据概况
- 使用 `summary` 快速查看关键统计指标
- 对于分类数据,使用 `group` 分析不同类别的差异
- 分析变量关系时,使用 `correlation` 查看相关性
### 3. 性能优化
- 对于大型数据集,指定 `columns` 参数只分析需要的列
- 分组分析时,确保分组列有适当的基数
- 相关性分析只对数值列有效,非数值列会自动排除
### 4. 错误处理
- 检查返回结果中是否包含 `error` 字段
- 根据错误信息调整输入参数
- 确保文件路径正确,文件格式支持
## 🔄 版本历史
### v2.0 (当前版本)
- 添加了分组分析功能
- 支持列选择参数
- 增加了相关性分析
- 改进了错误处理机制
- 添加了完整的示例数据
### v1.0
- 基础描述性统计功能
- 支持CSV和JSON数据输入
- 基本的聚合操作
## 📞 支持与反馈
如果在使用过程中遇到问题或有改进建议:
1. 检查错误信息中的详细说明
2. 参考示例数据和使用示例
3. 确保依赖库已正确安装
---
**技能状态**: ✅ 生产就绪
**测试覆盖率**: 全面测试通过
**文档完整性**: 完整
**用户评价**: 高度推荐用于数据分析任务