Skip to main content

python-analysis

当用户使用 Python 做科研数据分析、统计建模、机器学习实验或批量数据处理,说"用 Python 跑一下分析""做个统计""清洗数据""画结果图""跑个脚本"时使用。本技能规定本地 Python 分析的统一操作规程:环境优先 uv/venv 隔离、依赖写入 requirements.txt 并通过 record_run 记录环境指纹、随机种子固定并登记、原始数据只读(清洗另存新文件)、产物落盘 output/<skill>/<slug>/latest/、图表 PNG+PDF 双格式 300dpi,并附 stats_integrity_check.py 对报告数字做确定性体检。同义触发场景:Python 分析、跑数据、统计分析、数据处理、画图、pandas、matplotlib、分析环境怎么配。

Zur Installation springen

Quellinformationen

Repository
MiniMax-AI/MiniMax-Code-Plugins
Letzte Quellaktivität
19. August 2026 um 12:10
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
11
Forks
10

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
python-analysis
description
当用户使用 Python 做科研数据分析、统计建模、机器学习实验或批量数据处理,说"用 Python 跑一下分析""做个统计""清洗数据""画结果图""跑个脚本"时使用。本技能规定本地 Python 分析的统一操作规程:环境优先 uv/venv 隔离、依赖写入 requirements.txt 并通过 record_run 记录环境指纹、随机种子固定并登记、原始数据只读(清洗另存新文件)、产物落盘 output/<skill>/<slug>/latest/、图表 PNG+PDF 双格式 300dpi,并附 stats_integrity_check.py 对报告数字做确定性体检。同义触发场景:Python 分析、跑数据、统计分析、数据处理、画图、pandas、matplotlib、分析环境怎么配。
argument-hint
[分析任务描述]
metadata
{"domains":["compute"],"last_reviewed":"2026-08-18"}
# python-analysis:Python 分析规程 ## 目的 Python 是科研计算的主力工具,也是"跑过一次就复现不出来"的重灾区:依赖版本漂移、随机种子没固定、原始数据被顺手改掉、图只存了屏幕截图。本技能把每一次本地 Python 分析约束为可复现的最小闭环: 1. 环境可重建:隔离环境 + requirements.txt + 环境指纹进 provenance; 2. 结果可复算:随机种子固定并写进记录; 3. 数据可追溯:原始数据只读,清洗产物另存; 4. 产物可定位:统一落盘 `output/<skill>/<slug>/`,图表双格式; 5. 报告数字可机检:交付前过一遍 `stats_integrity_check.py`。 本技能只规定规程,不规定具体算法;算法选择由研究问题决定(必要时标注 `[模型知识—待核实]` 并与用户确认)。 ## 前置检查 1. 确认当前目录是工作区根目录(结构约定见 research-workspace);产物路径契约 `output/<skill>/<slug>/latest/` 在这里同样适用,本技能的 `<skill>` 名即 `python-analysis`(用户自建脚本的分析产物可用 `analysis` 作为 skill 名,保持与既有产物一致即可)。 2. 确认原始数据已在 `data/` 下且按只读原则管理;数据还没就位时先停下来请用户放数据,不要用"示例数据"冒充真实数据跑分析。 3. 检查是否已有可用环境:项目根存在 `.venv/` 或 `requirements.txt` 时优先复用,不要每次分析都新建环境。 4. 涉及人体、患者、涉密数据的分析,先对照画像"伦理与数据合规要求"一节:红线数据不得离开规定机器,更不得上传到第三方在线工具(guardrail 第 8 条)。 ## 1 · 环境:优先 uv,其次 venv 按以下优先级选择环境管理工具: 1. **uv**(已安装时):`uv venv` 创建 `.venv/`,`uv pip install -r requirements.txt` 安装依赖。速度快、锁文件友好。 2. **venv + pip**(uv 不可用时):`python -m venv .venv`,激活后 `pip install -r requirements.txt`。 3. 不用 conda 新建环境,除非画像"算力环境"一节明确写了 conda——与画像保持一致优先于本规程。 纪律: - 每个项目一个 `.venv/`,放在工作区根目录;不在系统 Python 里 `pip install` 任何分析依赖。 - 新装依赖后立刻 `pip freeze > requirements.txt`(uv 同理)更新锁定;requirements.txt 是产物的一部分。 - 首次在某环境跑分析时,用 provenance-record 登记一次环境(脚本自动写 `.openscience/env/<hash>.txt`);此后每次登记的 env_hash 自动关联。 ## 2 · 随机种子:固定并登记 1. 脚本开头统一设种子: ```python import random import numpy as np SEED = 42 random.seed(SEED) np.random.seed(SEED) ``` 用到其他带随机性的库(如 torch、sklearn 的 `random_state`)时,把同一个 SEED 传进去。 2. 种子值写进 record_run 的 `--note`(如 `seed=42`);换种子重跑视为一次新实验,登记新记录并说明换种子的原因。 3. 不允许"先不固定种子看看效果"——探索性运行同样登记,大不了 note 里写"探索性,未固定种子",让读者知道这条结果的复现等级。 ## 3 · 数据:原始只读,清洗另存 1. 从 `data/` 读,永不写 `data/` 下已存在的文件;任何脚本检测到自己在覆盖 `data/` 文件,立即停止并报告(research-workspace 原始数据只读原则)。 2. 清洗、转换、筛选的产物是新文件:中间产物放 `output/python-analysis/<slug>/<timestamp>/`;需要跨分析复用的清洗后数据集放项目自建的 `derived/`(不存在则创建),并在 README 或 note 里写清由哪份原始数据经哪步处理而来。 3. 数据纠错走增补:发现原始数据有误时新存修正版 + `README-correction.md`,原文件保留。 4. 大文件读取失败(内存不足)时,改用分块(`pandas.read_csv(..., chunksize=...)`)或先抽样探索,不要在报告里假装全量分析过。 ## 4 · 分析脚本:可重复执行 1. 脚本放 `scripts/`,命名 kebab-case(如 `analyze-cycle-life.py`);一次性探索可以用 notebooks/,但进入产物的分析必须落成脚本。 2. 脚本满足"从头跑到尾不交互":`python scripts/xxx.py` 一条命令完成,不弹 input()、不依赖 notebook 单元格顺序。 3. 参数用 argparse 或脚本顶部常量集中声明;硬编码路径只允许指向工作区内相对路径。 4. 输出目录按时间戳创建(`YYYYMMDD-HHMMSS`),本次全部产物写入其中。 ## 5 · 产物落盘与图表规范 1. 目录契约(与 research-workspace 一致): ```text output/python-analysis/<slug>/<timestamp>/ # 本次运行全部产物 output/python-analysis/<slug>/latest/ # 运行结束后的完整副本 ``` 2. 图表一律双格式导出:PNG(预览、贴报告)+ PDF(排版、投稿矢量),均 300 dpi: ```python fig.savefig(out / "cycle-life.png", dpi=300, bbox_inches="tight") fig.savefig(out / "cycle-life.pdf", bbox_inches="tight") ``` 3. 统计结果(表格、模型参数、p 值)同时落一份机器可读文件(CSV 或 JSON),不要只存在图里或打印在 stdout——报告里的每个数字都应能指回这份文件。 4. 运行结束后刷新 `latest/`(先清空再放副本),然后用 provenance-record 登记: ```bash python <插件包路径>/skills/provenance-record/scripts/record_run.py \ --path output/python-analysis/<slug>/latest/ \ --tool "python scripts/analyze-cycle-life.py" \ --note "循环寿命分析,seed=42,数据 data/2026-08-cycling/" ``` ## 6 · 报告数字体检:stats_integrity_check.py 分析结论写进 markdown 报告后、交付前,运行本技能自带脚本做确定性数字检查(纯标准库): ```bash python <插件路径>/skills/python-analysis/scripts/stats_integrity_check.py \ --path reports/<报告>.md --format json ``` 检查项: 1. 百分比在 0-100 内;同一行疑似构成组的百分比之和 ≈ 100±0.5; 2. p 值格式(`p<0.001` 或 `p=0.xxx`)与取值在 0-1 内; 3. `N=n` 多次出现时数值一致; 4. 置信区间下界不超过上界。 脚本输出 `{issues: [{check, location, detail, level}]}`,error 级问题修复前不得交付(guardrail 第 7 条);脚本退出码为 1 表示存在 error 级问题,可接入流水线。脚本是确定性规则,不替代统计判断——它查"数字写得对不对",不查"数字算得对不对"。 ## 输出模板 分析完成后的汇报: ```markdown ## Python 分析完成(<任务名>) - 环境:.venv/(uv / venv),requirements.txt 已更新,env_hash=<hash> - 种子:seed=<N>(已登记) - 产物:output/python-analysis/<slug>/latest/(清单:…) - 图表:…(PNG+PDF,300dpi) - 数字体检:stats_integrity_check 通过 / N 条 warn(列出)/ N 条 error(修复中) - provenance:已登记(note:…) 下一步:… ``` ## 本技能不做什么 - 不替用户选统计方法或模型:方法适用性是领域判断,本技能最多提示"该选择需要领域依据",必要时标注 `[模型知识—待核实]` 并请用户确认。 - 不动原始数据:任何清洗、纠错都生成新文件(research-workspace 只读原则)。 - 不管理远程与集群任务:SSH 远程算力见 remote-compute,Slurm 集群见 hpc-slurm,长任务后台管理见 run-monitor。 - 不保证统计正确性:stats_integrity_check.py 只做格式与一致性机检,显著性解释、多重比较校正等仍需用户与 reviewer 把关。 - 不自动安装系统级软件:装 Python 本身、装 uv 属环境准备,向用户说明后由用户执行。 ## 收尾与下一步 - 产物进入报告或论文前:刷新 `latest/`、确认 provenance 登记完整、跑 stats_integrity_check.py 清零 error。 - 分析结论要支撑论文级论断时,进入 evidence-capsule 冻结流程(脚本、环境、数据版本一并打包)。 - 报告交付前按 reviewer-protocol 接受审查;数字类意见(check=number)与本技能体检结果一并处理。 - 分析耗时超过分钟级时,改用 run-monitor 后台运行,不要让人机会话空等任务结束。
Auf GitHub ansehen