用途:该技能面向数据探索、分析与沟通,帮助创建可复现、结构良好的交互式笔记本,适用于探索性分析、可复现研究、教学与演示、向相关方沟通结论以及快速原型迭代。
主要能力与工具选择:资料列出 JupyterLab(传统数据科学、扩展生态、完整 IDE 体验)、marimo(可复现笔记本、响应式执行、Python 原生、对版本控制友好)、VS Code + Jupyter(IDE 原生体验、智能提示、调试、git 集成)、Google Colab(云端 GPU、分享协作、免费 TPU/GPU)。
核心原则:按标题、Setup、Data Loading、Analysis、Conclusions 组织内容以提升可读性;通过设置随机种子(np.random.seed(42)、random.seed(42))并在 requirements.txt 或 environment.yml 中固定版本保证可复现;保持单元格聚焦,一个单元格一个概念,避免超过 50 行,辅助函数重构到 .py 文件;绝不硬编码密钥,使用 os.environ.get("OPENAI_API_KEY") 读取环境变量。
Jupyter 实践:可使用 IPython 魔法命令,如 %load_ext autoreload、%autoreload 2、%timeit、%debug、%watermark;提交前清理输出可用 pip install nbstripout 后执行 nbstripout --install,或用 pip install pre-commit 与 pre-commit install 配置钩子。
marimo 优势:响应式执行,依赖变化时单元格自动重算,如 mo.ui.slider 示例;纯 Python(.py 文件),无输出大对象进入 git,差异可读;可用 marimo convert notebook.ipynb -o notebook.py 转换 Jupyter 笔记本。
常见反模式:乱序运行单元格、巨型混合单元格、硬编码文件路径、缺少 markdown 说明、提交大输出文件、内联数据(应使用 data/ 文件夹)。
进阶参考:../references/jupyter-advanced.md(部件、扩展、调试)、../references/marimo-guide.md(响应式模式、UI 组件)、../references/notebook-testing.md(笔记本代码单元测试)、../references/sharing-publishing.md(nbconvert、Quarto、Voilà)。相关技能:@data-science-eda、@data-science-interactive-apps、@data-engineering-core。
限制:资料未提供具体收费、价格、平台支持范围或效果保证等信息。