用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/OpenSenseNova/SenseNova-Skills --skill time-series-and-categorical-analysis命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Base-layer skill for the SenseNova-Skills project, providing low-level APIs for image generation, recognition (VLM), and text optimization (LLM). This skill does not preprocess inputs; it only calls backend services and returns results. This skill is not user-facing and is intended for upper-layer skills only.
Standard and fast PPT pipeline. All LLM / VLM / T2I calls are wrapped in a single CLI entry (scripts/run_stage.py). The main agent's job is simple: emit ONE shell command per stage, never write loops, never write prompts. Standard mode plans thoroughly with a three-sample deck preview checkpoint (three concatenated deck images plus a preview URL), web research, image search, and user-selected final output format (PPTX or PDF) for polished, delivery-ready presentations. Fast mode builds a complete draft immediately with autonomous decisions, then provides structured refinement suggestions so the user can iterate quickly. Supports AI-generated infographics (U1) for diagrams and flowcharts, web image search (Serper) for real photos, and ECharts for data charts.
用于用户请求深度研究、系统性研究、竞品分析、方案对比、趋势分析或事实核查时。**遇到以下任一情况就主动使用本 skill,不要自行搜几条就回答**:①用户出现触发词:深度研究 / 深度调研 / 深入研究 / 全面研究 / 系统研究 / 调研 / 调查 / 尽调 / 行业研究 / 市场研究 / 竞品分析 / 政策研究 / 技术研究 / 趋势研究 / 事实核查 / 写一份研究报告 / 调研报告 / 深度报告 / research / deep research;②请求需要跨多来源取证、多维度对比、交叉验证才能给出可靠结论;③用户要求产出报告、白皮书、行业分析或尽调文档;④话题涉及最新政策/市场/产品/价格/法规,需要系统核查。明确要求核验来源的单点事实可走 quick;无核验要求的简单常识问答不使用。模糊或宽泛的"研究/了解一下 X"也优先触发。仅不用于:一句话摘要、已给定单一来源的整理、纯文字润色改写。
基于 SOC 职业分类
正在显示 SKILL.md
| name | time-series-and-categorical-analysis |
| description | 对时间序列或分类数据进行多维度趋势分析、百分比清洗、绩效分级建模与预测,并生成高分辨率的可视化综合报告,适用于业务指标监控与预测场景。 |
Step1 加载并检查原始数据,配置中文字体以确保图表正常显示。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
# 设置中文字体,兼容不同操作系统
plt.rcParams['font.sans-serif'] = ['SimHei', 'WenQuanYi Zen Hei', 'DejaVu Sans']
plt.rcParams['axes.unicode_minus'] = False
# 加载Excel文件
file_path = 'data.xlsx'
df = pd.read_excel(file_path)
print(f"数据形状: {df.shape}")
print(f"列名: {list(df.columns)}")
Step2 提取时间序列或分类维度数据,处理百分比格式,并计算变化趋势。
def convert_percentage(pct_str):
"""将百分比字符串转换为数值,处理空值和非字符串类型"""
if pd.isna(pct_str):
return None
if isinstance(pct_str, str) and '%' in pct_str:
try:
return float(pct_str.replace('%', ''))
except ValueError:
return None
return pct_str
time_col = '时间列' # 占位示例
target_cols = ['指标1占比', '指标2占比', '指标3占比'] # 占位示例
# 转换百分比字符串为数值并提取数据
ts_df = df[[time_col] + target_cols].copy() if time_col in df.columns else df.copy()
for col in target_cols:
if col in ts_df.columns:
ts_df[col] = ts_df[col].apply(convert_percentage)
# 计算变化趋势并识别状态
diff_col = f'{col}_变化'
trend_col = f'{col}_趋势'
ts_df[diff_col] = ts_df[col].diff()
ts_df[trend_col] = ['上升' if x > 0 else '下降' if x < 0 else '稳定' for x in ts_df[diff_col]]
Step3 基于数值进行多维度分级算法建模,映射差异化增长率并计算预测值。
group_col = '分组列' # 占位示例,如'部门'
value_col = '数值列' # 占位示例,如'销售额'
# 聚合计算总和并排序
grouped_df = df.groupby(group_col, as_index=False)[value_col].sum()
grouped_df = grouped_df.sort_values(by=value_col, ascending=False).reset_index(drop=True)
# 多维度分级算法结构:前30%为高,中间40%为中,后30%为低
total_rows = len(grouped_df)
high_threshold = int(total_rows * 0.3)
mid_threshold = int(total_rows * 0.7)
grouped_df['等级'] = np.where(
grouped_df.index < high_threshold, '高',
np.where(grouped_df.index < mid_threshold, '中', '低')
)
# 分类映射函数骨架:为不同等级设定差异化增长率
growth_rates = {'高': 0.15, '中': 0.08, '低': 0.03}
grouped_df['增长率'] = grouped_df['等级'].map(growth_rates)
# 计算预测值与增长量
grouped_df['预测值'] = grouped_df[value_col] * (1 + grouped_df['增长率'])
grouped_df['增长量'] = grouped_df['预测值'] - grouped_df[value_col]
Step4 生成多维度可视化图表(堆叠面积图、柱状图、条形图),并保存为高分辨率图像。
output_path = 'trend_analysis_report.png'
plt.figure(figsize=(14, 10))
# 子图1:堆叠面积图(时间序列占比变化)
plt.subplot(2, 2, 1)
sns.set_style('whitegrid')
if time_col in ts_df.columns and all(c in ts_df.columns for c in target_cols):
plt.stackplot(ts_df[time_col],
*[ts_df[c] for c in target_cols],
labels=target_cols, alpha=0.8)
plt.title('各指标占比变化趋势', fontsize=14, fontweight='bold')
plt.xlabel(time_col)
plt.ylabel('占比 (%)')
plt.legend(loc='upper left')
plt.xticks(rotation=45)
# 子图2:当前 vs 预测对比(柱状图)
plt.subplot(2, 2, 2)
x = np.arange(len(grouped_df))
width = 0.35
plt.bar(x - width/2, grouped_df[value_col], width, label='当前值', alpha=0.8)
plt.bar(x + width/2, grouped_df['预测值'], width, label='预测值', alpha=0.8)
plt.xlabel(group_col)
plt.ylabel('数值')
plt.title('当前与预测值对比')
plt.xticks(x, grouped_df[group_col], rotation=45)
plt.legend()
# 子图3:增长率分布(条形图)
plt.subplot(2, 2, 3)
plt.barh(grouped_df[group_col], grouped_df['增长率'], color='skyblue')
plt.xlabel()
plt.title()
plt.gca().invert_yaxis()
plt.subplot(, , )
plt.bar(grouped_df[group_col], grouped_df[], color=)
plt.xlabel(group_col)
plt.ylabel()
plt.title()
plt.xticks(rotation=)
plt.tight_layout()
plt.savefig(output_path, dpi=, bbox_inches=)
plt.close()
Step5 生成综合分析报告,汇总核心指标并输出趋势结论。
# 总体预测汇总
total_current = grouped_df[value_col].sum()
total_forecast = grouped_df['预测值'].sum()
total_growth = grouped_df['增长量'].sum()
overall_growth_rate = (total_forecast - total_current) / total_current if total_current else 0
print("=" * 60)
print("📊 综合趋势分析报告")
print("=" * 60)
print(f"当前总值: {total_current:,.2f}")
print(f"预测总值: {total_forecast:,.2f}")
print(f"总增长量: {total_growth:,.2f}")
print(f"整体增长率: {overall_growth_rate:.2%}")
print("\n📈 分析结论:")
if overall_growth_rate > 0.1:
print(" - 整体趋势向好,预计实现显著增长。")
elif overall_growth_rate > 0:
print(" - 呈温和增长态势,建议加强低等级组支持。")
else:
print(" - 预测下滑,需深入分析原因并制定应对策略。")
print("=" * 60)