用途
该技能面向智能体场景下的数据分析任务,提供从数据读入、质量检查、分析流程设计、代码生成执行到结果验证输出的全链路工作方法。它强调在智能体执行环境中安全地处理数据,避免因全量加载或直接打印导致Token溢出与执行环境卡死。
支持的输入类型
- 表格数据:csv、xlsx
- 文档中隐含的数据:docx、pdf、md
- 图片中包含的数据:png、jpg
核心工作流
步骤一:数据读入与探查
针对不同数据类型采用不同读取方法:csv 使用 pandas 直接读取;xlsx 使用 pandas 或相关工具;docx 使用相关工具读取并将目标数据提取保存为 csv;pdf 使用相关工具读取并保存为 csv;md 直接读取并保存为 csv;png、jpg 使用视觉工具读取并保存为 csv。
探查阶段要求只看样貌、不看全貌:仅获取元数据与少量样本,必须获取列名和数据类型,严格限制读取行数(推荐 n=5)。若有多份文件,需逐一探查并检查文件间关联,将关联方式保存为 csv 或 md 供后续参考。标准探查代码模式如下:
import pandas as pd
file_path = 'target_data.csv'
try:
if file_path.endswith('.csv'):
df_preview = pd.read_csv(file_path, nrows=5)
elif file_path.endswith('.parquet'):
df_preview = pd.read_parquet(file_path).head(5)
elif file_path.endswith(('.xls', '.xlsx')):
df_preview = pd.read_excel(file_path, nrows=5)
print("=== 数据预览 (前5行) ===")
print(df_preview.to_markdown(index=False))
print("\n=== 列信息与类型 ===")
print(df_preview.info())
except Exception as e:
print(f"摄入错误: {e}")
编码与格式自适应:读取失败时尝试 encoding='gbk' 或 encoding='latin1';若数据挤在一列,尝试 sep=';' 或 sep='\t'。
步骤二:数据质量检查
分析前必须先进行质量体检,检查结果需放入最终报告。清单包括:
- 完整性:检查 NULL、NaN、空字符串比例;注意用 -1、0、9999 或 "Unknown" 代替缺失值的伪缺失;核对数据量是否符合预期、时间序列是否连续;检查文本字段是否被截断。
- 唯一性:检查完全重复行、主键重复、业务实体因大小写或空格差异被重复记录。
- 准确性与有效性:检查数值字段是否混入字符串、日期字段是否为日期格式、数值是否在合理范围内、概率值是否在0到1之间。
- 一致性:检查单位是否统一、枚举值是否统一、跨表相同含义字段是否对得上。
- 关联性:检查外键约束,是否存在在维表中找不到对应记录的孤儿数据。
质量检查代码示例:
import pandas as pd
# --- 1. 完整性检查 (Completeness) ---
for col in COLS_CHECK_MISSING:
missing_count = df[col].isnull().sum()
empty_str_count = (df[col] == '').sum() if df[col].dtype == 'object' else 0
total_missing = missing_count + empty_str_count
if total_missing > 0:
print(f" -> 警告: 列 '{col}' 存在 {total_missing} 条缺失数据")
else:
print(f" -> 通过: 列 '{col}' 无缺失")
# --- 2. 唯一性检查 (Uniqueness) ---
if df[COL_PRIMARY_KEY].duplicated().any():
duplicate_count = df[COL_PRIMARY_KEY].duplicated().sum()
print(f" -> 警告: 主键 '{COL_PRIMARY_KEY}' 发现 {duplicate_count} 条重复记录")
else:
print(f" -> 通过: 主键唯一")
# --- 3. 准确性检查 (Accuracy) ---
invalid_rows = df[df[COL_NUMERIC] < MIN_VALUE_THRESHOLD]
if not invalid_rows.empty:
print(f" -> 警告: 发现 {len(invalid_rows)} 条数据小于最小值 {MIN_VALUE_THRESHOLD}")
else:
print(f" -> 通过: 数值范围正常")
# --- 4. 一致性检查 (Consistency) ---
invalid_mask = ~df[COL_CATEGORY].isin(VALID_CATEGORIES) & df[COL_CATEGORY].notnull()
invalid_cats = df.loc[invalid_mask, COL_CATEGORY].unique()
if len(invalid_cats) > 0:
print(f" -> 警告: 列 '{COL_CATEGORY}' 包含非标准值: {invalid_cats}")
else:
print(f" -> 通过: 枚举值一致")
# --- 5. 关联性检查 (Integrity) ---
try:
orphan_mask = ~df[COL_FOREIGN_KEY].isin(ref_df[COL_REF_KEY]) & df[COL_FOREIGN_KEY].notnull()
orphan_count = orphan_mask.sum()
if orphan_count > 0:
print(f" -> 警告: 发现 {orphan_count} 条“孤儿数据” (在维表中找不到对应记录)")
else:
print(f" -> 通过: 外键关联完整")
except NameError:
print(" -> 跳过: 未定义 ref_df (维表),无法进行关联检查")
步骤三:确定工作流程
根据任务需求确定流程,优先使用用户指定的方法。核心分析方法包括:
- 统计分析:描述性统计、推断性统计、相关性分析(Pearson、Spearman、Kendall、Point-biserial)、分布分析、高级统计检验(ANOVA、t检验、卡方检验、非参数检验)。
- 模式发现:趋势与时间序列分解、季节性检测与预测、聚类(K-means、层次聚类、DBSCAN)、关联规则挖掘与购物篮分析、特征工程与选择、降维(PCA、t-SNE、UMAP)。
- 商业智能:KPI 分析与仪表板设计、客户细分与画像、购物篮分析与推荐系统、流失预测与 CLV、A/B 测试与实验设计、ROI 分析与业务影响评估。
- 探索性技术:单变量、双变量、多变量分析,时间序列分析,类别数据分析,空间分析,文本分析与 NLP。
核心可视化方法覆盖数值型、分类型、时间序列数据,以及交互式仪表盘和动画可视化等高级技巧。
报告撰写:如无明确要求,默认输出一份 md 格式的数据分析报告。报告类型可选执行摘要、商业数据分析报告、仪表盘文档;格式支持 markdown、pdf、docx。报告应确保准确性、逻辑性、专业性、基于数据、可执行的见解、视觉集成和可读性。
步骤四:规范代码生成与执行
支持编程语言与库:
- Python:Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn, Plotly, TensorFlow, PyTorch
- R:Tidyverse, ggplot2, dplyr, caret, shiny, data.table
- SQL:PostgreSQL, MySQL, SQLite, BigQuery, Redshift, Snowflake
- JavaScript:D3.js, Plotly.js, Chart.js, TensorFlow.js, Node.js
常用 Python 技术栈:pandas、numpy、scipy、sklearn、matplotlib、seaborn、plotly,以及相关工具库。
代码生成分三个阶段:需求分析(明确目标、选择语言与库、考虑性能)、结构设计(模块化、可维护、内存管理)、实施(简洁代码、错误处理、注释、执行)。错误处理需覆盖数据加载错误、内存问题、性能问题、依赖问题。
步骤五:结果验证与输出
交付前必须自检:完整性检查(结果文件是否生成、关键计算结果是否非空且合理、输出文件是否包含数据且表头正确)和格式一致性(图表标题、轴标签、图例是否完整,报告字体与标题层级是否统一,图片位置与说明是否清晰)。通过质量门控后才能交付。
适用场景
- 基础销售数据趋势分析:读取 sales_2023.csv,探查列结构,检查缺失与状态一致性,剔除退款订单,按月聚合销售额并生成折线图,输出简报。
- 跨文件关联分析:结合 categories.xlsx 与 feedback.pdf,提取文本结构化解析为 CSV,检查 product_id 关联性,按类目统计负面反馈并生成横向条形图与 Markdown 报告。
限制
资料未提供该技能的具体收费方式、价格、平台限制或性能上限等信息。使用中需注意其强制安全探查原则,避免全量加载或直接打印数据。