CSV数据可视化器Skill csv-data-visualizer

CSV数据可视化器是一款强大的Python工具集,专为数据科学家、分析师和开发者设计,用于对CSV格式的数据进行深度探索、分析和可视化呈现。核心功能包括:1. 利用Plotly库创建交互式图表(如直方图、散点图、箱线图、热力图等);2. 自动数据剖析,生成包含统计摘要、数据质量检查和分布分析的详细报告;3. 一键生成或自定义配置多图表仪表板。该工具旨在简化从数据加载、质量评估到可视化洞察的完整工作流,支持HTML、PNG、PDF等多种输出格式,是进行探索性数据分析(EDA)、制作数据报告和构建数据看板的理想选择。 关键词:CSV数据分析,数据可视化,Plotly图表,探索性数据分析EDA,数据剖析,统计报告,交互式仪表板,Python数据分析工具,数据质量检查,自动化数据洞察。

数据可视化 4 次安装 91 次浏览 更新于 2/28/2026

name: csv-data-visualizer description: 当处理CSV文件以创建交互式数据可视化、生成统计图表、分析数据分布、创建仪表板或执行自动数据剖析时,应使用此技能。它利用Plotly进行交互式可视化,为探索性数据分析提供全面的工具。

CSV 数据可视化器

概述

此技能为CSV文件提供全面的数据可视化和分析能力。它具备三大核心功能:(1) 使用Plotly创建独立的交互式可视化图表,(2) 自动进行数据剖析并生成统计摘要,(3) 生成包含多图表的仪表板。该技能专为探索性数据分析、统计报告和创建可用于演示的可视化图表而优化。

何时使用此技能

当用户请求以下内容时,请调用此技能:

  • “可视化这个CSV数据”
  • “根据这个数据创建直方图/散点图/箱线图”
  • “显示[某列]的分布情况”
  • “为这个数据集生成一个仪表板”
  • “剖析这个CSV文件” 或 “分析这个数据”
  • “创建相关性热力图”
  • “显示随时间变化的趋势”
  • “跨[类别]比较[变量]”

核心能力

1. 独立可视化

使用 visualize_csv.py 脚本创建特定图表类型以进行详细分析。

可用图表类型:

统计图表:

# 直方图 - 数值数据的分布
python3 scripts/visualize_csv.py data.csv --histogram 列名 --bins 30

# 箱线图 - 显示四分位数和异常值
python3 scripts/visualize_csv.py data.csv --boxplot 列名

# 按类别分组的箱线图
python3 scripts/visualize_csv.py data.csv --boxplot 薪资 --group-by 部门

# 小提琴图 - 带有概率密度的分布图
python3 scripts/visualize_csv.py data.csv --violin 列名 --group-by 类别

关系分析:

# 带自动趋势线的散点图
python3 scripts/visualize_csv.py data.csv --scatter 身高 体重

# 带颜色和大小编码的散点图
python3 scripts/visualize_csv.py data.csv --scatter x y --color 类别 --size 值

# 所有数值列的相关性热力图
python3 scripts/visualize_csv.py data.csv --correlation

时间序列:

# 单变量折线图
python3 scripts/visualize_csv.py data.csv --line 日期 销售额

# 同一图表上的多个变量
python3 scripts/visualize_csv.py data.csv --line 日期 "销售额,收入,利润"

分类数据:

# 条形图(自动统计类别数量)
python3 scripts/visualize_csv.py data.csv --bar 类别

# 用于显示构成的饼图
python3 scripts/visualize_csv.py data.csv --pie 区域

输出格式: 使用所需的格式扩展名指定输出文件:

# 交互式HTML(默认)
python3 scripts/visualize_csv.py data.csv --histogram 年龄 -o 输出.html

# 静态图像格式
python3 scripts/visualize_csv.py data.csv --scatter x y -o 图表.png
python3 scripts/visualize_csv.py data.csv --correlation -o 热力图.pdf
python3 scripts/visualize_csv.py data.csv --bar 类别 -o 图表.svg

2. 自动数据剖析

使用 data_profile.py 脚本生成全面的数据质量和统计报告。

文本报告(默认):

python3 scripts/data_profile.py data.csv

HTML报告:

python3 scripts/data_profile.py data.csv -f html -o 报告.html

JSON报告:

python3 scripts/data_profile.py data.csv -f json -o 剖析.json

剖析器提供的内容:

  • 文件信息(大小、维度)
  • 数据集概览(形状、内存使用、重复项)
  • 逐列分析(类型、缺失数据、唯一值)
  • 缺失数据模式和完整性
  • 数值列的统计摘要(均值、标准差、四分位数、偏度、峰度)
  • 分类列分析(频率计数、最常见/最不常见值)
  • 数据质量检查(高缺失数据、重复行、常量列、高基数)

何时使用剖析: 在以下情况下,创建可视化之前始终建议先运行数据剖析:

  • 用户不熟悉数据集
  • 数据质量未知
  • 需要确定合适的可视化类型
  • 首次探索新数据集时

3. 多图表仪表板

使用 create_dashboard.py 脚本创建包含多个可视化图表的综合仪表板。

自动仪表板: 分析数据类型并自动创建合适的可视化图表:

python3 scripts/create_dashboard.py data.csv

自定义输出位置:

python3 scripts/create_dashboard.py data.csv -o 我的仪表板.html

控制图表数量:

python3 scripts/create_dashboard.py data.csv --max-plots 9

根据配置创建自定义仪表板: 创建JSON配置文件以指定确切的图表:

python3 scripts/create_dashboard.py data.csv --config 配置.json

仪表板配置格式:

{
  "title": "销售分析仪表板",
  "plots": [
    {"type": "histogram", "column": "收入"},
    {"type": "box", "column": "收入", "group_by": "区域"},
    {"type": "scatter", "column": "广告支出", "group_by": "收入"},
    {"type": "bar", "column": "产品类别"},
    {"type": "correlation"}
  ]
}

仪表板图表类型:

  • histogram:数值列的分布
  • box:箱线图,可选择按类别分组
  • scatter:两个数值列之间的关系
  • bar:分类值的计数
  • correlation:数值相关性的热力图

工作流决策树

使用此决策树来确定合适的方法:

用户提供CSV文件
│
├─ "剖析此数据" / "分析此数据" / 不熟悉的数据集
│  └─> 首先运行 data_profile.py
│     然后根据发现结果提供可视化选项
│
├─ "创建仪表板" / "数据概览" / 需要多个可视化图表
│  ├─ 用户明确知道需要哪些图表
│  │  └─> 创建JSON配置 → 使用配置运行 create_dashboard.py
│  └─ 用户需要自动仪表板
│     └─> 运行 create_dashboard.py(自动模式)
│
└─ 请求特定可视化("直方图"、"散点图"等)
   └─> 使用 visualize_csv.py 配合相应标志

最佳实践

开始分析

  1. 对于不熟悉的数据集,始终先进行剖析python3 scripts/data_profile.py data.csv
  2. 查看剖析输出以了解:
    • 列数据类型和范围
    • 缺失数据模式
    • 数据质量问题
    • 统计分布

选择可视化图表

请查阅 references/visualization_guide.md 获取详细指南。快速参考:

  • 分布:直方图、箱线图、小提琴图
  • 关系:散点图、相关性热力图
  • 时间序列:折线图
  • 类别:条形图(首选)或饼图(谨慎使用)
  • 比较:按类别分组的箱线图

创建仪表板

  • 自动仪表板:适用于初始探索
  • 自定义仪表板:更适合演示或特定的分析目标
  • 限制图表数量:最多保留6-9个图表以确保可读性
  • 逻辑分组:将相关的可视化图表分组在一起

输出注意事项

  • HTML:最适合交互式探索(缩放、平移、悬停提示)
  • PNG/PDF:最适合报告和演示
  • SVG:最适合需要矢量图形的出版物

依赖项

脚本需要以下Python包:

pip install pandas plotly numpy

对于静态图像导出(PNG、PDF、SVG),还需安装:

pip install kaleido

示例工作流

探索性数据分析

# 1. 剖析数据
python3 scripts/data_profile.py sales_data.csv -f html -o 剖析.html

# 2. 创建自动仪表板
python3 scripts/create_dashboard.py sales_data.csv -o 仪表板.html

# 3. 使用特定图表深入分析
python3 scripts/visualize_csv.py sales_data.csv --scatter 价格 销售额 --color 区域
python3 scripts/visualize_csv.py sales_data.csv --boxplot 收入 --group-by 产品

报告生成

# 为报告创建特定可视化图表
python3 scripts/visualize_csv.py data.csv --histogram 年龄 -o 图1_分布.png
python3 scripts/visualize_csv.py data.csv --scatter 收入 年龄 -o 图2_相关性.png
python3 scripts/visualize_csv.py data.csv --bar 类别 -o 图3_类别.png

# 生成数据摘要
python3 scripts/data_profile.py data.csv -f html -o 数据摘要.html

交互式仪表板

# 为演示创建自定义仪表板
# 1. 首先,创建包含所需图表的 config.json
# 2. 生成仪表板
python3 scripts/create_dashboard.py data.csv --config 配置.json -o 演示仪表板.html

故障排除

"未找到列"错误:

  • 运行数据剖析以查看确切的列名
  • CSV列名区分大小写
  • 检查列名中是否有前导/尾随空格

空或错误的可视化图表:

  • 验证数据类型(数值型与分类型)
  • 检查所绘制列中是否有缺失数据
  • 确保存在足够的非空值

脚本执行错误:

  • 验证依赖项是否已安装:pip list | grep plotly
  • 检查Python版本:需要Python 3.6+
  • 对于图像导出问题,请安装kaleido:pip install kaleido

资源

scripts/ 目录

  • visualize_csv.py:包含所有图表类型的主要可视化脚本
  • data_profile.py:自动数据剖析和质量分析
  • create_dashboard.py:多图表仪表板生成器

references/ 目录

  • visualization_guide.md:选择合适图表类型、最佳实践和常见模式的综合指南