返回顶部
f

fox-data-analyst狐狸数据分析

Data visualization, report generation, SQL queries, and spreadsheet automation. Transform your AI agent into a data-savvy analyst that turns raw data into actionable insights.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
119
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

fox-data-analyst

数据分析师技能 📊

将您的AI智能体转变为数据分析利器。

查询数据库、分析电子表格、创建可视化图表、生成驱动决策的洞察。



该技能的功能

SQL查询 — 编写并执行数据库查询
电子表格分析 — 处理CSV、Excel、Google Sheets数据
数据可视化 — 创建图表、图形和仪表盘
报告生成 — 自动生成包含洞察的报告
数据清洗 — 处理缺失数据、异常值、格式问题
统计分析 — 描述性统计、趋势分析、相关性分析



快速入门

  1. 1. 在 TOOLS.md 中配置您的数据源:
markdown

数据源

  • - 主数据库:[连接字符串或描述]
  • 电子表格:[Google Sheets URL / 本地路径]
  • 数据仓库:[BigQuery/Snowflake/等]
  1. 2. 设置您的工作空间:
bash ./scripts/data-init.sh
  1. 3. 开始分析!

SQL查询模式

常用查询模板

基础数据探索
sql
-- 行数统计
SELECT COUNT(*) FROM table_name;

-- 样本数据
SELECT * FROM table_name LIMIT 10;

-- 列统计
SELECT
column_name,
COUNT(*) as count,
COUNT(DISTINCT columnname) as uniquevalues,
MIN(columnname) as minval,
MAX(columnname) as maxval
FROM table_name
GROUP BY column_name;

基于时间的分析
sql
-- 每日聚合
SELECT
DATE(created_at) as date,
COUNT(*) as daily_count,
SUM(amount) as daily_total
FROM transactions
GROUP BY DATE(created_at)
ORDER BY date DESC;

-- 月度环比比较
SELECT
DATETRUNC(month, createdat) as month,
COUNT(*) as count,
LAG(COUNT(*)) OVER (ORDER BY DATETRUNC(month, createdat)) as prev_month,
(COUNT() - LAG(COUNT()) OVER (ORDER BY DATETRUNC(month, createdat))) /
NULLIF(LAG(COUNT()) OVER (ORDER BY DATETRUNC(month, createdat)), 0) 100 as growth_pct
FROM transactions
GROUP BY DATETRUNC(month, createdat)
ORDER BY month;

同期群分析
sql
-- 按注册月份划分的用户同期群
SELECT
DATETRUNC(month, u.createdat) as cohort_month,
DATETRUNC(month, o.createdat) as activity_month,
COUNT(DISTINCT u.id) as users
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY cohortmonth, activitymonth
ORDER BY cohortmonth, activitymonth;

漏斗分析
sql
-- 转化漏斗
WITH funnel AS (
SELECT
COUNT(DISTINCT CASE WHEN event = pageview THEN userid END) as views,
COUNT(DISTINCT CASE WHEN event = signup THEN user_id END) as signups,
COUNT(DISTINCT CASE WHEN event = purchase THEN user_id END) as purchases
FROM events
WHERE date >= CURRENT_DATE - INTERVAL 30 days
)
SELECT
views,
signups,
ROUND(signups * 100.0 / NULLIF(views, 0), 2) as signup_rate,
purchases,
ROUND(purchases * 100.0 / NULLIF(signups, 0), 2) as purchase_rate
FROM funnel;



数据清洗

常见数据质量问题

问题检测方法解决方案
缺失值IS NULL 或空字符串填充、删除或标记
重复值
GROUP BY 配合 HAVING COUNT(*) > 1 | 按规则去重 | | 异常值 | Z-score > 3 或 IQR 方法 | 调查、截断或排除 | | 格式不一致 | 抽样和模式匹配 | 通过转换标准化 | | 无效值 | 范围检查、参照完整性 | 验证并修正 |

数据清洗SQL模式

sql
-- 查找重复项
SELECT email, COUNT(*)
FROM users
GROUP BY email
HAVING COUNT(*) > 1;

-- 查找空值
SELECT
COUNT(*) as total,
SUM(CASE WHEN email IS NULL THEN 1 ELSE 0 END) as null_emails,
SUM(CASE WHEN name IS NULL THEN 1 ELSE 0 END) as null_names
FROM users;

-- 标准化文本
UPDATE products
SET category = LOWER(TRIM(category));

-- 移除异常值(IQR方法)
WITH stats AS (
SELECT
PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY value) as q1,
PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY value) as q3
FROM data
)
SELECT * FROM data, stats
WHERE value BETWEEN q1 - 1.5(q3-q1) AND q3 + 1.5(q3-q1);

数据清洗检查清单

markdown

数据质量审计:[数据集]

行级检查

  • - [ ] 总行数:[X]
  • [ ] 重复行:[X]
  • [ ] 包含空值的行:[X]

列级检查
列名类型空值数唯一值数最小值最大值问题
[col][type][n][n][v][v][notes]

数据血缘

  • - 来源:[数据来源]
  • 最后更新:[日期]
  • 已知问题:[列表]

已执行的清洗操作

  1. 1. [操作及原因]
  2. [操作及原因]

电子表格分析

使用Python处理CSV/Excel

python
import pandas as pd

加载数据

df = pd.readcsv(data.csv) # 或 pd.readexcel(data.xlsx)

基础探索

print(df.shape) # (行数, 列数) print(df.info()) # 列类型和空值 print(df.describe()) # 数值统计

数据清洗

df = df.drop_duplicates() df[date] = pd.to_datetime(df[date]) df[amount] = df[amount].fillna(0)

分析

summary = df.groupby(category).agg({ amount: [sum, mean, count], quantity: sum }).round(2)

导出

summary.tocsv(analysisoutput.csv)

常用Pandas操作

python

筛选


filtered = df[df[status] == active]
filtered = df[df[amount] > 1000]
filtered = df[df[date].between(2024-01-01, 2024-12-31)]

聚合

by_category = df.groupby(category)[amount].sum() pivot = df.pivot_table(values=amount, index=month, columns=category, aggfunc=sum)

窗口函数

df[running_total] = df[amount].cumsum() df[pctchange] = df[amount].pctchange() df[rolling_avg] = df[amount].rolling(window=7).mean()

合并

merged = pd.merge(df1, df2, on=id, how=left)

数据可视化

图表选择指南

数据类型最佳图表使用场景
时间趋势折线图展示随时间变化的模式/趋势
类别比较
柱状图 | 比较离散类别 | | 整体占比 | 饼图/环形图 | 展示比例(≤5个类别) | | 分布 | 直方图 | 理解数据分布 | | 相关性 | 散点图 | 两个变量之间的关系 | | 多类别 | 水平条形图 | 对多个项目进行排名或比较 | | 地理数据 | 地图 | 基于位置的数据 |

使用Matplotlib/Seaborn进行Python可视化

python
import matplotlib.pyplot as plt
import seaborn as sns

设置样式

plt.style.use(seaborn-v0_8-whitegrid) sns.set_palette(husl)

折线图(趋势)

plt.figure(figsize=(10, 6)) plt.plot(df[date], df[value], marker=o) plt.title(随时间变化的趋势) plt.xlabel(日期) plt.ylabel(数值) plt.xticks(rotation=45) plt.tight_layout() plt.savefig(trend.png, dpi=150)

柱状图(比较)

plt.figure(figsize=(10, 6)) sns

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 fox-data-analyst-1775946466 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 fox-data-analyst-1775946466 技能

通过命令行安装

skillhub install fox-data-analyst-1775946466

下载

⬇ 下载 fox-data-analyst v1.0.0(免费)

文件大小: 9.72 KB | 发布时间: 2026-4-12 10:02

v1.0.0 最新 2026-4-12 10:02
Initial release: Transform your agent into a data analysis powerhouse with SQL, spreadsheets, visualizations, and report generation.

- Execute SQL queries and automate database analysis
- Process, clean, and analyze spreadsheet data (CSV, Excel, Google Sheets)
- Generate charts, graphs, dashboards, and ASCII visualizations
- Produce automated reports with statistical summaries and actionable insights
- Includes sample code, query patterns, and quick-start instructions

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部