关于 data-analysis
面向结构化数据任务的统计分析技能,适用于业务、金融和科学数据。涵盖从数据检查、统计检验到图表与报告的处理流程。
主要功能
- 01描述统计与分布分析
- 02金融收益和风险指标
- 03业务趋势与队列分析
- 04假设检验与回归
- 05生成图表、报告和数据文件
适用场景
- 01汇总并探索 CSV 或 JSON 数据
- 02计算投资收益、波动率和指标
- 03分析销售趋势、转化漏斗或 A/B 测试
- 04检验科学数据中的假设
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jinfanzheng/ kode-sdk-csharp --skill data-analysis安装后在 Claude Code 中输入/data-analysis确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
requirements.txtsetup.shreferences/business.mdfinancial.mdREFERENCE.mdscientific.mdtemplates.md详细介绍
数据分析 - 统计计算与洞察
何时使用此技能
在以下情况下启用此技能:
- 用户提到“数据分析”“统计”“计算指标”“数据洞察”
- 需要分析结构化数据(CSV、JSON、数据库)
- 计算统计数据、趋势、模式
- 财务分析(收益、波动率、技术指标)
- 业务分析(销售额、用户行为、KPI)
- 科学数据处理和假设检验
工作流
1. 获取数据
⚠️ 重要:文件命名要求
- 文件名不得包含中文字符或非 ASCII 字符
- 只能使用英文字母、数字、下划线和连字符
- 示例:
data.csv、sales_report_2025.xlsx、analysis_results.json - ❌ 无效:
销售数据.csv、数据文件.xlsx、報表.json - 这可确保在不同系统间的兼容性,并避免编码问题
如果数据已存在:
- 从文件读取(CSV、JSON、Excel)
- 如果可用,则查询数据库
如果文件名包含中文字符:
- 请用户将文件重命名为英文/ASCII 字符
- 或者在将文件保存到 Agent 目录时重命名
如果没有数据:
- 自动启用
data-base技能 - 抓取/收集所需数据
- 保存为结构化格式
2. 了解需求
询问用户:
- 您想回答哪些问题?
- 哪些指标很重要?
- 结果需要什么格式?(摘要、图表、报告)
- 是否有指定的统计方法?
3. 分析
通用分析:
- 描述性统计(均值、中位数、标准差、百分位数)
- 分布分析(直方图、箱线图)
- 相关性分析
- 组间比较
财务分析:
- 收益计算(简单收益、对数收益、累计收益)
- 风险指标(波动率、VaR、夏普比率)
- 技术指标(MA、RSI、MACD)
- 投资组合分析
业务分析:
- 趋势分析(增长率、同比、环比)
- 群组分析
- 漏斗分析
- A/B 测试
科学分析:
- 假设检验(t 检验、卡方检验、ANOVA)
- 回归分析
- 时间序列分析
- 统计显著性
4. 输出
生成以下形式的结果:
- 摘要统计:包含关键指标的表格
- 图表:保存为 PNG 文件
- 报告:包含分析结果的 Markdown
- 数据:供后续使用的处理后 CSV/JSON
Python 环境
如有需要,自动初始化虚拟环境,然后执行:
cd skills/data-analysis
if [ ! -f ".venv/bin/python" ]; then
echo "Creating Python environment..."
./setup.sh
fi
.venv/bin/python your_script.py
设置脚本会自动安装:pandas、numpy、scipy、scikit-learn、statsmodels,并支持中文字体。
分析场景
通用数据
import pandas as pd
# Load and summarize
df = pd.read_csv('data.csv')
summary = df.describe()
correlations = df.corr()
财务数据
# Calculate returns
df['return'] = df['price'].pct_change()
# Risk metrics
volatility = df['return'].std() * (252 ** 0.5)
sharpe = df['return'].mean() / df['return'].std() * (252 ** 0.5)
业务数据
# Group by category
grouped = df.groupby('category').agg({
'revenue': ['sum', 'mean', 'count']
})
# Growth rate
df['growth'] = df['revenue'].pct_change()
科学数据
from scipy import stats
# T-test
t_stat, p_value = stats.ttest_ind(group_a, group_b)
# Regression
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y)
文件路径约定
临时输出(会话范围)
写入当前目录的文件将存储在会话目录中:
import time
from datetime import datetime
# Use timestamp for unique filenames (avoid conflicts)
timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
# Charts and temporary files
plt.savefig(f'analysis_{timestamp}.png') # → $KODE_AGENT_DIR/analysis_20250115_143022.png
df.to_csv(f'results_{timestamp}.csv') # → $KODE_AGENT_DIR/results_20250115_143022.csv
始终使用唯一文件名,以避免多次分析时发生冲突:
- 使用时间戳:
analysis_20250115_143022.png - 使用描述性名称 + 时间戳:
sales_report_q1_2025.csv - 脚本使用随机后缀:
script_{random.randint(1000,9999)}.py
用户数据(持久化)
使用 $KODE_USER_DIR 存储持久化用户数据:
import os
user_dir = os.getenv('KODE_USER_DIR')
# Save to user memory
memory_file = f"{user_dir}/.memory/facts/preferences.jsonl"
# Read from knowledge base
knowledge_dir = f"{user_dir}/.knowledge/docs"
环境变量
KODE_AGENT_DIR:用于临时输出(图表、分析结果)的会话目录KODE_USER_DIR:用于持久化存储(记忆、知识、配置)的用户数据目录
最佳实践
- 文件名必须仅包含 ASCII 字符:文件名中不得包含中文或非 ASCII 字符
- 始终先检查数据:
df.head()、df.info()、df.describe() - 处理缺失值:根据具体情况删除或填补
- 检查假设条件:正态性、独立性等
- 可视化:图表能揭示表格无法呈现的模式
- 记录发现:说明指标及其含义
- 使用正确路径:临时输出写入当前目录,持久化数据写入
$KODE_USER_DIR
快速参考
- REFERENCE.md - pandas/numpy API 参考
- references/financial.md - 财务分析方案
- references/business.md - 业务分析方案
- references/scientific.md - 统计检验方法
- references/templates.md - 代码模板
环境设置
此技能使用 Python 脚本。设置环境:
# Navigate to the skill directory
cd apps/assistant/skills/data-analysis
# Run the setup script (creates venv and installs dependencies)
./setup.sh
# Activate the environment
source .venv/bin/activate
设置脚本将:
- 在
.venv/中创建 Python 虚拟环境 - 安装所需的软件包(pandas、numpy、scipy、scikit-learn、statsmodels)
使用此技能环境运行 Python 脚本:
# Use the virtual environment's Python
.venv/bin/python script.py
# Or activate first, then run normally
source .venv/bin/activate
python script.py
评论
支持 Markdown