Skip to content
cccskills
FreePublished on GitHub

numeric_distribution_check

字段分布校验工具。读取结构化数据文件(CSV、TSV、Excel等),按模式检查数值字段统计特征或分类字段频率分布是否合理。数值模式用于检查均值、标准差、中位数、分位数等统计量;分类模式用于检查类别数上限和单类占比是否异常。

当用户提到分布校验、统计特征验证、类别频率检查、类别倾斜检测等需求时使用此skill。即使用户没有明确说出"分布校验",只要任务涉及验证字段整体分布是否偏移或失衡,就应该使用此skill。

The English summary is being prepared. Showing the original description.

Works withExcel
See how to install

Files included (4)

  • SKILL.md7.4 KB
  • scripts/data_io.py3.5 KB
  • scripts/numeric_distribution_check.py7.0 KB
  • skill.json3.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

numeric_distribution_check 字段分布校验Skill

功能概述

本skill用于在表级别检查字段的整体分布是否合理,包含两种模式:

数值模式(numeric)

  • 计算数值字段的统计特征
  • 支持均值、标准差、中位数、最小值、最大值、25%分位数、75%分位数
  • 任一统计量超出约束范围时,整表标记为不通过

分类模式(categorical)

  • 统计分类字段的类别数和类别占比
  • 检查类别数是否超过 max_categories
  • 检查单类占比是否超过 max_single_ratio
  • 类别数超限时整表标记;单类占比超限时仅标记该类别对应的行

触发条件

当用户请求以下任务时,应使用此skill:

  • 分布校验
  • 统计特征验证
  • 均值/标准差检查
  • 数值分布偏移检测
  • 类别频率检查
  • 分类分布检查
  • 类别倾斜检测
  • 数据平衡性分析

处理逻辑

  1. 读取输入数据表
  2. 根据 mode 选择校验路径:
    • numeric:提取 value_field 的有效数值,计算统计量并与 stat_constraints 比较
    • categorical:统计 category_field 的类别频次和占比,检查 max_categories 与 max_single_ratio
  3. 若任一约束超限,则在 mark_field_name 列标记 qc_mark
  4. 输出统计摘要和校验结果

支持的文件格式

  • CSV (.csv)
  • TSV (.tsv)
  • Excel (.xls, .xlsx)
  • SPSS (.sav)

使用方法

步骤1:获取用户输入输出路径及参数

向用户确认:

  1. 输入文件路径(需要校验的文件)
  2. 输出文件路径(校验结果文件)
  3. 校验模式(numeric 或 categorical)
  4. 数值字段名与统计约束,或分类字段名与类别阈值
  5. 质控标识

步骤2:执行字段分布校验脚本

在 scripts/ 目录下找到 numeric_distribution_check.py,使用Python执行:

数值模式:

python scripts/numeric_distribution_check.py \
    --input_path data.csv \
    --output_path checked.csv \
    --mode numeric \
    --value_field "score" \
    --stat_constraints "mean,40,60 std,0,20" \
    --qc_mark QC0029

分类模式:

python scripts/numeric_distribution_check.py \
    --input_path data.csv \
    --output_path checked.csv \
    --mode categorical \
    --category_field "category" \
    --max_categories 20 \
    --max_single_ratio 0.5 \
    --qc_mark QC0029

步骤3:返回结果

脚本执行完成后,告知用户:

  • 实际统计值或类别分布概况
  • 哪些约束超出范围
  • 是否整表标记,或仅标记单类倾斜行

参数说明

参数必填说明
--input_path是输入文件路径(支持CSV/TSV/Excel/SPSS)
--output_path是输出文件路径
--mode否校验模式:numeric(默认)或 categorical
--value_field数值模式必需要统计的数值字段名
--stat_constraints数值模式必需统计约束,格式:统计量,min,max,多组用空格或分号分隔
--category_field分类模式必需要检查的分类字段名
--max_categories分类模式可选最大允许类别数(超过则全部标记)
--max_single_ratio分类模式可选单类最大占比 0~1(超过则标记倾斜类别所有行)
--qc_mark是质控标识(如QC0029)
--mark_field_name否质控标识字段名(默认QC0000)

输出示例

数值模式:分布偏移

[OK] Using encoding UTF-8 successfully read CSV file
Successfully read file: /path/to/data.csv, shape: (1000, 5)
  [mean] 期望 [40, 60], 实际 72.3000 ✗ 超限
  [std] 期望 [0, 20], 实际 15.8000 ✓
[QC FAIL] 数值分布校验未通过 (1 项):
  [mean] 期望 [40, 60], 实际 72.3000 ✗ 超限
Successfully written file: /path/to/checked.csv

数值模式:通过

[OK] Using encoding UTF-8 successfully read CSV file
Successfully read file: /path/to/data.csv, shape: (500, 4)
  [mean] 期望 [40, 60], 实际 52.1000 ✓
  [std] 期望 [0, 20], 实际 12.3000 ✓
[QC PASS] 数值分布校验通过
Successfully written file: /path/to/checked.csv

分类模式:未通过

[OK] Using encoding UTF-8 successfully read CSV file
Successfully read file: /path/to/data.csv, shape: (500, 8)
[INFO] 总行数: 500, 类别数: 35
  dominant                                 362 (72.4%)
  ... 还有 34 个类别
[QC FAIL] 分类频率校验未通过 (2 项):
  [类别数] 实际 35 > 最大 20
  [倾斜] 类别 'dominant' 占比 72.4% > 60%
Successfully written file: /path/to/checked.csv

注意事项

  1. 输入输出路径需要用户提供
  2. 输出文件格式会自动保持与输入文件一致
  3. 本skill为表级别校验:数值模式不通过时整表标记;分类模式中类别数超限时整表标记,单类倾斜时只标记该类别对应行
  4. 数值模式约束表达式格式:统计量,min,max,多组用空格或分号分隔
  5. 非数值数据自动转为 NaN 后从统计中排除
  6. 分类模式会忽略空值和空字符串
  7. 如果用户没有指定输出路径,可以建议使用原文件名加上 _checked 后缀
  8. 与逐行离群点检测、枚举词典合规校验等 skill 的职责不同,本 skill 只负责字段分布合理性检查

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

领域缩略语展开 Skill:按内置或外部词典将独立缩略语替换为全称,可选在全称后保留原缩写。 适用于技术文本、论文摘要和业务记录中的缩写清洗;不负责模糊缩写消歧或大小写无关替换。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

字母数字比例过滤器。过滤文本中字母/数字比例不在指定范围内的样本。 当用户提到文本过滤、比例筛选、字母比例、数字比例、清理乱码文本等需求时使用此skill。 即使用户没有明确说出"过滤",只要任务涉及根据文本中字母或数字的比例来筛选数据, 就应该使用此skill。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

平均行长度过滤器。过滤文本平均行长度不在指定范围内的样本。 当用户提到行长度过滤、平均行长度、文本行长度筛选、按行筛选等需求时使用此skill。 即使用户没有明确说出"平均行长度",只要任务涉及根据文本中每行的平均长度来筛选数据, 就应该使用此skill。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

批量文件清单采集器。扫描一个或多个本地文件/目录,或从任务列表加载路径, 按支持的扩展名生成文件元信息清单,供后续文本、表格、文档、图像等采集流程继续处理。 当用户需要批量盘点待采集文件、生成本地文件 manifest、统计输入文件类型或为后续采集算子准备文件清单时使用此 skill。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

批量数据均匀分片工具。读取json/jsonl/csv输入,按份数或固定条数切成多个子文件,输出一个清单JSON供下游节点消费。 当用户提到数据分割、批量拆分、数据分片、均匀分块等需求时使用此skill。 即使用户没有明确说出"分片",只要任务是把整份批量数据均匀拆成多个文件,就应该使用此skill。 不负责按字段分组导出或随机采样。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

本skill是用于单细胞测序数据分析的专用技能,首先需要用户上传需要处理的单细胞测序数据,再对经过预处理的单细胞表达数据进行自动化细胞类型注释。它通过基因比对、数据标准化、降维等一系列流程,将细胞聚类结果与已知参考数据库进行匹配,从而为每个细胞分配生物学功能标签。

The English summary is being prepared. Showing the original description.

cas-bigdatalab/piflow541Updated Oct 17, 2026

See all skills by cas-bigdatalab

Report a problem with this skill