数据分析师Skill data-analyst

数据分析师技能是一个专注于CSV数据集处理的自动化工具,提供缺失值智能插补与交互式可视化仪表板生成功能。核心关键词包括:数据分析、缺失值处理、智能插补、数据可视化、Plotly Dash、探索性数据分析、数据质量评估、统计建模。适用于数据科学家、分析师和研究人员进行高效的数据清洗、探索和展示。

数据分析 0 次安装 0 次浏览 更新于 2/28/2026

name: data-analyst description: 此技能应用于分析CSV数据集、通过智能插补处理缺失值,并创建交互式仪表板以可视化数据趋势。适用于数据质量评估、自动缺失值检测与填充、统计分析以及生成用于探索性数据分析的Plotly Dash仪表板等任务。

数据分析师

概述

此技能为CSV数据集的数据分析工作流提供全面能力。它能自动分析缺失值模式,使用适当的统计方法智能插补缺失数据,并创建交互式Plotly Dash仪表板以可视化趋势和模式。该技能将自动化的缺失值处理与丰富的交互式可视化相结合,支持端到端的探索性数据分析。

核心能力

data-analyst技能提供三种主要能力,可以独立使用或作为完整工作流使用:

1. 缺失值分析

自动检测和分析数据集中的缺失值,识别模式并建议最优插补策略。

2. 智能插补

应用针对每列数据类型和分布特征定制的复杂插补方法。

3. 交互式仪表板创建

生成包含多种可视化类型的综合Plotly Dash仪表板,用于趋势分析和探索。

完整工作流

当用户请求包含缺失值处理和可视化的完整数据分析时,请遵循此工作流:

步骤1:分析缺失值

运行缺失值分析脚本以了解数据质量:

python3 scripts/analyze_missing_values.py <input_file.csv> <output_analysis.json>

功能说明

  • 检测每列中的缺失值
  • 识别数据类型(数值型、分类型、时间型等)
  • 计算缺失值统计信息
  • 为每列建议适当的插补策略
  • 生成详细的JSON报告和控制台输出

查看输出以了解:

  • 哪些列有缺失数据
  • 缺失值的百分比
  • 每列推荐的插补方法
  • 推荐每种方法的原因

步骤2:插补缺失值

基于分析应用自动插补:

python3 scripts/impute_missing_values.py <input_file.csv> <analysis.json> <output_imputed.csv>

功能说明

  • 加载分析结果(如果未提供则执行分析)
  • 对每列应用最优插补方法:
    • 均值:用于正态分布的数值数据
    • 中位数:用于偏斜的数值数据
    • 众数:用于分类变量
    • KNN:用于具有相关性的多元数值数据
    • 前向填充:用于时间序列数据
    • 常量值:用于高基数文本字段
  • 处理边缘情况(在适当时删除行/列)
  • 生成包含前后统计信息的插补报告
  • 保存清理后的数据集

脚本自动执行

  • 删除缺失值超过70%的列
  • 删除关键ID列缺失的行
  • 对相关变量执行批量KNN插补
  • 创建详细的插补日志

步骤3:创建交互式仪表板

生成交互式Plotly Dash仪表板:

python3 scripts/create_dashboard.py <imputed_file.csv> <output_dir> <port>

示例

python3 scripts/create_dashboard.py data_imputed.csv ./visualizations 8050

功能说明

  • 自动检测列类型(数值型、分类型、时间型)
  • 创建全面的可视化:
    • 汇总统计表:所有数值列的描述性统计
    • 时间序列图:如果存在日期/时间列,则进行趋势分析
    • 分布图:用于理解数据分布的直方图
    • 相关性热图:数值变量之间的关系
    • 分类分析:分类变量的条形图
    • 散点图矩阵:变量之间的成对关系
  • 启动交互式Dash Web服务器
  • 可选保存静态HTML可视化

访问仪表板http://127.0.0.1:8050(或指定端口)

独立使用案例

使用案例A:快速缺失值评估

当用户希望在不进行插补的情况下了解数据质量时:

python3 scripts/analyze_missing_values.py data.csv

查看控制台输出以了解缺失值模式并获得建议。

使用案例B:仅插补

当用户有一个包含缺失值的数据集并希望获得清理后的数据时:

python3 scripts/impute_missing_values.py data.csv

此步骤在一个步骤中执行分析和插补,生成data_imputed.csv

使用案例C:仅可视化

当用户有一个干净的数据集并希望获得交互式可视化时:

python3 scripts/create_dashboard.py clean_data.csv ./visualizations 8050

此步骤创建一个完整的仪表板,无需任何预处理。

使用案例D:自定义插补策略

当用户希望审查和调整插补策略时:

  1. 首先运行分析:

    python3 scripts/analyze_missing_values.py data.csv analysis.json
    
  2. 查看analysis.json并与用户讨论策略

  3. 如果需要,修改脚本中的插补逻辑或参数

  4. 运行插补:

    python3 scripts/impute_missing_values.py data.csv analysis.json data_imputed.csv
    

理解插补方法

该技能根据数据特征使用智能插补策略。关键方法包括:

  • 均值/中位数:用于数值数据(均值用于正态分布,中位数用于偏斜分布)
  • 众数:用于分类变量(最频繁的值)
  • KNN(K-最近邻):用于变量相关的多元数值数据
  • 前向填充:用于时间序列数据(将最后观测值向前携带)
  • 插值:用于平滑的时间趋势
  • 常量值:用于高基数文本字段(例如,“未知”)
  • 删除:用于缺失值超过70%的列或缺失ID的行

有关每种方法适用情况的详细信息,请参阅references/imputation_methods.md

仪表板功能

交互式仪表板包括:

汇总统计

  • 所有数值列的计数、均值、标准差、最小值、最大值、四分位数
  • 缺失值计数和百分比
  • 可排序的表格格式

时间序列分析

  • 带有标记的时间趋势线图
  • 多系列支持(最多4个主要指标)
  • 带有精确值的悬停详细信息
  • 用于轻松比较的统一悬停模式

分布分析

  • 所有数值变量的直方图
  • 30个分箱的默认设置,用于精细分布视图
  • 多面板布局,便于比较

相关性分析

  • 显示相关系数的热图
  • 从-1(负相关)到+1(正相关)的颜色编码
  • 标注确切的相关系数值
  • 有助于识别关系

分类分析

  • 分类变量的条形图
  • 显示前10个类别(针对高基数变量)
  • 显示频率计数

散点图矩阵

  • 数值变量的成对散点图
  • 限制为5个变量以提高可读性
  • 显示下三角(避免冗余)

设置和依赖项

在使用此技能之前,请确保已安装依赖项:

pip install -r requirements.txt

所需软件包:

  • pandas - 数据操作和分析
  • numpy - 数值计算
  • scikit-learn - KNN插补
  • plotly - 交互式可视化
  • dash - Web仪表板框架
  • dash-bootstrap-components - 仪表板样式

最佳实践

对于分析:

  1. 在插补前始终运行分析以了解数据质量
  2. 查看建议的插补方法 - 它们是建议,不是强制要求
  3. 注意缺失值百分比(>40%需要仔细考虑)
  4. 检查数据类型是否符合预期(例如,数值ID被检测为数值型)

对于插补:

  1. 在插补前保存原始数据集
  2. 查看插补报告以确保方法合理
  3. 检查插补值是否在合理范围内
  4. 考虑为重要变量创建缺失指示器
  5. 记录使用的插补方法以确保可重复性

对于仪表板:

  1. 使用插补/清理后的数据进行最准确的可视化
  2. 如果与非技术利益相关者共享,请保存静态HTML图
  3. 如果同时运行多个仪表板,请使用不同的端口
  4. 对于大型数据集(>10万行),考虑采样以提高渲染速度

处理边缘情况

高缺失率(>50%)

脚本会自动标记缺失值超过50%的列。选项:

  • 如果列不关键,则删除
  • 创建缺失指示器变量
  • 调查数据缺失的原因(可能具有信息性)

混合数据类型

如果列包含混合类型(例如,数字和文本):

  • 脚本检测主要类型
  • 考虑在分析前清理列
  • 对混合类型文本列使用常量插补

小型数据集

对于行数少于50的数据集:

  • 简单插补(均值/中位数/众数)更稳定
  • 避免使用KNN(需要足够的邻居)
  • 考虑删除行而不是插补

时间序列间隙

对于具有不规则时间戳的时间序列:

  • 对短间隙使用前向填充
  • 对具有平滑趋势的较长间隙使用插值
  • 在选择方法时考虑采样频率

故障排除

脚本失败并显示“未找到模块”

安装依赖项:pip install -r requirements.txt

仪表板无法启动(端口被占用)

指定不同的端口:python3 scripts/create_dashboard.py data.csv ./viz 8051

KNN插补速度慢

KNN对于大型数据集计算密集。对于超过5万行,考虑:

  • 使用更简单的方法(均值/中位数)
  • 首先对数据进行采样
  • 在KNN中使用更少的列

插补值似乎不正确

  • 查看分析报告 - 检查检测到的数据类型
  • 验证列是否正确检测(数值型与分类型)
  • 考虑手动调整或使用不同的插补方法
  • 检查可能影响均值/中位数计算的异常值

资源

scripts/

  • analyze_missing_values.py - 全面的缺失值分析,带有自动策略推荐
  • impute_missing_values.py - 使用针对数据特征定制的多种方法进行智能插补
  • create_dashboard.py - 交互式Plotly Dash仪表板生成器,带有多种可视化类型

references/

  • imputation_methods.md - 缺失值插补策略、决策框架和最佳实践的详细指南

其他文件

  • requirements.txt - 该技能的Python依赖项