name: exploratory-data-analysis description: “EDA工具包。分析CSV/Excel/JSON/Parquet文件,生成统计摘要、分布、相关性、异常值、缺失数据、可视化和markdown报告,用于数据剖析和洞察。”
探索性数据分析
概述
EDA是一个发现数据中模式、异常和关系的过程。分析CSV/Excel/JSON/Parquet文件以生成统计摘要、分布、相关性、异常值和可视化。所有输出都是markdown格式,便于集成到工作流中。
何时使用此技能
此技能应在以下情况使用:
- 用户提供数据文件并请求分析或探索
- 用户询问“探索这个数据集”、“分析这个数据”或“这个文件里有什么?”
- 用户需要统计摘要、分布或相关性
- 用户请求数据可视化或洞察
- 用户想要理解数据质量问题或模式
- 用户提及EDA、探索性分析或数据剖析
支持的文件格式:CSV、Excel (.xlsx, .xls)、JSON、Parquet、TSV、Feather、HDF5、Pickle
快速入门工作流
- 接收用户的数据文件
- 使用
scripts/eda_analyzer.py运行全面分析 - 使用
scripts/visualizer.py生成可视化 - 使用洞察和
assets/report_template.md模板创建markdown报告 - 向用户展示发现,突出关键洞察
核心能力
1. 全面数据分析
使用eda_analyzer.py脚本执行完整统计分析:
python scripts/eda_analyzer.py <data_file_path> -o <output_directory>
提供内容:
- 自动检测和加载文件格式
- 基本数据集信息(形状、类型、内存使用)
- 缺失数据分析(模式、百分比)
- 数值和分类变量的摘要统计
- 使用IQR和Z-score方法的异常值检测
- 带有正态性测试(Shapiro-Wilk、Anderson-Darling)的分布分析
- 相关性分析(Pearson和Spearman)
- 数据质量评估(完整性、重复项、问题)
- 自动化洞察生成
输出:包含所有分析结果的JSON文件,位于<output_directory>/eda_analysis.json
2. 全面可视化
使用visualizer.py脚本生成完整可视化套件:
python scripts/visualizer.py <data_file_path> -o <output_directory>
生成的可视化:
- 缺失数据模式:显示缺失数据的热图和条形图
- 分布图:所有数值变量的直方图,带有KDE覆盖
- 箱线图与小提琴图:异常值检测可视化
- 相关性热图:Pearson和Spearman相关矩阵
- 散点矩阵:数值变量之间的成对关系
- 分类分析:顶级类别的条形图
- 时间序列图:时间趋势与趋势线(如果存在日期时间列)
输出:高质量PNG文件保存到<output_directory>/eda_visualizations/
所有可视化都是生产就绪的,具有:
- 300 DPI分辨率
- 清晰的标题和标签
- 统计注释
- 使用seaborn的专业样式
3. 自动化洞察生成
分析器自动生成可操作的洞察,包括:
- 数据规模洞察:数据集大小考虑处理
- 缺失数据警报:当缺失数据超过阈值时的警告
- 相关性发现:为特征工程识别的强关系
- 异常值警告:标记高异常值率的变量
- 分布评估:需要转换的偏斜问题
- 重复项警报:重复行检测
- 不平衡警告:分类变量不平衡检测
从分析结果JSON中的"insights"键访问洞察。
4. 统计解释
有关统计测试和度量的详细解释,参考:
references/statistical_tests_guide.md - 全面指南覆盖:
- 正态性测试(Shapiro-Wilk、Anderson-Darling、Kolmogorov-Smirnov)
- 分布特征(偏度、峰度)
- 相关性测试(Pearson、Spearman)
- 异常值检测方法(IQR、Z-score)
- 假设测试指南
- 数据转换策略
在需要解释特定统计测试或向用户解释结果时加载此参考。
5. 最佳实践指导
有关方法指导,参考:
references/eda_best_practices.md - 详细最佳实践包括:
- EDA过程框架(6步方法)
- 单变量、双变量和多变量分析方法
- 可视化指南
- 统计分析指南
- 避免的常见陷阱
- 领域特定考虑
- 技术和非技术受众的沟通技巧
在规划分析方法或需要特定EDA场景指导时加载此参考。
创建分析报告
使用提供的模板构建全面EDA报告:
assets/report_template.md - 专业报告模板,部分包括:
- 执行摘要
- 数据集概述
- 数据质量评估
- 单变量、双变量和多变量分析
- 异常值分析
- 关键洞察和发现
- 建议
- 限制和附录
使用模板:
- 复制模板内容
- 使用JSON输出中的分析结果填充部分
- 使用markdown语法嵌入可视化图像
- 填充洞察和建议
- 保存为markdown供用户消费
典型工作流示例
当用户提供数据文件时:
用户:"你能探索这个sales_data.csv文件并告诉我你发现了什么吗?"
1. 运行分析:
python scripts/eda_analyzer.py sales_data.csv -o ./analysis_output
2. 生成可视化:
python scripts/visualizer.py sales_data.csv -o ./analysis_output
3. 读取分析结果:
读取 ./analysis_output/eda_analysis.json
4. 使用模板创建markdown报告:
- 复制assets/report_template.md结构
- 使用分析结果填充部分
- 参考来自./analysis_output/eda_visualizations/的可视化
- 包括来自JSON的自动化洞察
5. 向用户展示:
- 突出显示关键洞察
- 强调数据质量问题
- 内联提供可视化
- 做出可操作的建议
- 保存完整报告为.md文件
高级分析场景
大型数据集(>1M行)
- 首先在抽样数据上运行分析以快速探索
- 在报告中注明样本大小
- 推荐分布式计算进行全面分析
高维数据(>50列)
- 首先关注最重要变量
- 考虑PCA或特征选择
- 生成相关性分析以识别变量组
- 参考
eda_best_practices.md中关于高维数据的部分
时间序列数据
- 确保日期时间列被正确检测
- 时间序列可视化将自动生成
- 考虑时间模式、趋势和季节性
- 参考
eda_best_practices.md中关于时间序列的部分
不平衡数据
- 分类分析将标记不平衡
- 在报告中突出类分布
- 如果需要,推荐分层抽样
小样本大小(<100行)
- 在适当情况下自动使用非参数方法
- 在统计结论中保持保守
- 在报告中注明样本大小限制
输出最佳实践
始终输出为markdown:
- 使用markdown标题、表格和列表构建发现
- 使用
语法嵌入可视化 - 使用表格进行统计摘要
- 包括任何建议转换的代码块
- 使用粗体或项目符号突出关键洞察
确保报告可操作:
- 基于发现提供清晰建议
- 标记需要注意的数据质量问题
- 建议建模或进一步分析的下一步
- 识别特征工程机会
使洞察易于访问:
- 用简单语言解释统计概念
- 使用参考指南提供详细解释
- 包括技术细节和执行摘要
- 根据用户技术水平定制沟通
处理边缘情况
不支持的文件格式:
- 请求用户转换为支持格式
- 建议使用pandas兼容格式
文件太大无法加载:
- 推荐抽样方法
- 建议分块处理
- 考虑大数据替代工具
损坏或格式错误的数据:
- 报告遇到的特定错误
- 建议数据清洗步骤
- 如果可能,尝试挽救部分分析
列中所有数据缺失:
- 标记完全空列
- 推荐删除或调查
- 在数据质量部分文档化
资源总结
scripts/
eda_analyzer.py:主要分析引擎 - 全面统计分析visualizer.py:可视化生成器 - 创建所有图表类型
两个脚本都是完全可执行的,并自动处理多个文件格式。
references/
statistical_tests_guide.md:统计测试解释和方法eda_best_practices.md:全面EDA方法和最佳实践
根据需要加载这些参考以指导分析方法和解释。
assets/
report_template.md:专业markdown报告模板
使用此模板结构创建一致、全面的EDA报告。
关键提醒
- 始终为文本结果生成markdown输出
- 运行两个脚本(分析器和可视化器)进行全面分析
- 使用模板构建全面报告
- 通过引用生成的PNG文件包括可视化
- 提供可操作的洞察 - 不要仅仅呈现统计
- 使用参考指南解释发现
- 文档化限制和数据质量问题
- 为下一步做出建议
此技能通过系统探索、高级统计、丰富可视化和清晰沟通,将原始数据转化为可操作的洞察。