# Python Biostats

> Python 流行病学与生物统计分析的可选执行层，仅用于用户明确要求 Python，或既有项目已经以 Python 为主流程时的数据清洗、描述统计、回归、生存分析、预测验证、统计表图、代码调试和结果复现。开工先遵循 biostat-principles；统计图配合 publication-figures，客户外发再用 consulting-delivery。未指定语言的普通统计分析、R 环境或依赖缺失、研究设计定稿、论文写作或仅操作 xlsx 文件不触发。

- Skill: `kangwang42/python-biostats` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add kangwang42/python-biostats`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kangwang42/python-biostats/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: kangwang42 (https://skillmd.com/u/kangwang42)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kangwang42/python-biostats

---


# Python 生物统计执行

仅在用户明确选择 Python 或既有项目以 Python 为主流程时执行；Python 运行时缺失时先询问是否安装，用户不安装则评估现有 R 环境中的经核验等价实现。不存在等价实现时说明差异并等待选择，不静默切换，也不重写可工作的 R 主流程。

## 1. 输入与方法

1. 读取本轮必要输入；项目执行或正式发布时，再读取项目规则、PROTOCOL、SAP、配置、方法决定与尚未解决且需要后续处理的事项。
2. 确认分析集、暴露或干预、终点、比较、时间零点、协变量和主要方法。多个合理口径会改变答案时先确认。
3. 从最早输入核对字段、类型、键、重复、缺失、范围和逐步样本量。
4. 方法匹配 estimand、研究设计、结局类型、时间结构和抽样设计，不按库的便利性替代研究问题。

可沿用项目已有的 pandas、polars、scipy、statsmodels、scikit-learn、lifelines 或 scikit-survival；这些是可能实现，不是强制依赖。统计图转 `publication-figures`。

## 2. 实现与运行

- 沿用项目风格，只封装重复或高风险逻辑；原始数据只读。
- 只有随机抽样、模拟、重采样、数据拆分或随机算法固定并记录种子。
- 普通 Python 包缺失时按 `biostat-principles` 的依赖政策在项目隔离环境补齐；失败不得静默换包、换方法或换语言。
- 多行分析写入 `.py`。局部任务运行目标脚本；项目执行和正式发布通过 `run_pipeline.py` 调用项目现有且版本兼容的 Python，启动独立进程并按已确认顺序运行全部相关脚本。
- 非机械修改 `.py` 后，先用项目现有 Python 执行 `python -m py_compile <受影响脚本>`，通过后再运行受影响的最小入口或总运行脚本。编译通过只是一道即时门禁，不能替代实跑和科学结果检查。
- 核对完整 stdout/stderr、样本量链、缺失、估计范围、区间、收敛、适用的模型假设和预期文件；warning、traceback、failed、nan 不得略过。

异常可能改变口径或结论时回到最早来源并停下报告，不通过删记录、改模型或捕获异常掩盖。

## 3. 结果与完成

项目执行和正式发布的关键结果使用 [scripts/emit_summary.py](scripts/emit_summary.py) 写入 `results/results.yaml`。每项必须填写实际生成结果的脚本、脚本中提取结果的对象、输入文件或其哈希值、分析集、运行编号，以及实际使用该结果的文件；禁止直接修改 YAML。文件结构和旧项目读取方式见 [结果数据文件](../biostat-principles/references/result-summary-schema.md)。

方法选择或方案偏离写入 `DECISIONS.md`；总运行脚本自动记录实际命令、状态、输入输出文件哈希值和环境信息。只有需要后续补充材料、外部资源或由用户决定的事项才写入 `BACKLOG.md`。试新方法按 `biostat-principles` 的 E0/E1/E2 规则隔离。

完成时确认原始数据未改、相关脚本实际运行、样本与诊断已核对、异常已处理，并且项目执行和正式发布涉及的 `results/results.yaml`、自动运行记录和实际使用结果的文件一致。局部任务只交付用户指定的产物和必要的复现说明。

