
Chart Embedded Export
从结构化数据中提取分类分布执行清洗与统计,生成多维度交叉分析、高分辨率对比图表及包含下载链接的完整分析报告,适用于大文件处理与嵌入式可视化场景。
Install
npx skills add OpenSenseNova/SenseNova-Skills --skill chart-embedded-export -g -a claude-code -y- Repository
- OpenSenseNova/SenseNova-Skills6k
- Category
- Engineering
- Updated
- 6d ago
- License
- MIT
- Context cost
- Lightabout 850 tokens
- Runs scripts
- No, instructions only
What it does
从结构化数据中提取分类分布执行清洗与统计,生成多维度交叉分析、高分辨率对比图表及包含下载链接的完整分析报告,适用于大文件处理与嵌入式可视化场景。
Skill Steps
This sub-skill covers one capability of the Excel workflow. For reading/counting/Parquet optimization, see the parent workflow SKILL.md.
Step1 执行数据清洗,处理合并单元格,使用正则表达式清理文本,并建立分类映射函数骨架。
target_col = '分类字段'
value_col = '数值字段'
# 合并单元格处理 (向下填充还原)
df[target_col] = df[target_col].ffill()
# 数据清洗:正则去除特殊字符、去空、类型转换
df[target_col] = df[target_col].astype(str).str.replace(r'[^\w\s]', '', regex=True).str.strip()
df[value_col] = pd.to_numeric(df[value_col], errors='coerce')
df = df.dropna(subset=[target_col, value_col])
# 分类映射函数骨架
def map_category(val):
if 'A类特征' in str(val): return 'Category_A'
elif 'B类特征' in str(val): return 'Category_B'
return 'Other'
df['Mapped_Category'] = df[target_col].apply(map_category)
Step2 进行多维度统计与交叉分析,计算分类占比并生成包含总计行的交叉表。
group_col = '分组字段'
# value_counts 统计与占比计算
counts = df[group_col].value_counts()
proportions = (counts / counts.sum() * 100).round(2)
# 交叉分析 (crosstab),包含总计行
cross_analysis = pd.crosstab(df[group_col], df['Mapped_Category'], margins=True, margins_name='总计')
# 多维度聚合统计
stats = df.groupby(group_col)[value_col].agg(['sum', 'mean', 'min', 'max']).round(2)
Step3 执行业务逻辑计算(如多维度评分与分级),将结果导出为 Excel 并生成沙盒下载链接。
# 多维度评分/分级算法结构
df['Score'] = df[value_col] * 1.5 # 示例计算逻辑
df['Grade'] = pd.cut(df['Score'], bins=[0, 50, 80, 100], labels=['C', 'B', 'A'])
# 导出结构化结果
output_excel_path = 'analysis_result.xlsx'
df.to_excel(output_excel_path, index=False)
# 生成可点击的下载链接
print(f"分析结果已保存,下载链接:[下载结果数据](sandbox:{output_excel_path})")
Step4 配置中英文字体,生成包含饼图、柱状图、箱线图和直方图的综合可视化面板,并导出高分辨率双格式图片。
output_img_path = 'comprehensive_chart.png'
# 中英文字体配置与图表美化
plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans', 'WenQuanYi Zen Hei']
plt.rcParams['axes.unicode_minus'] = False
fig, axes = plt.subplots(2, 2, figsize=(15, 12))
fig.suptitle('多维度数据分布综合分析', fontsize=16, fontweight='bold')
