该技能用于指导 Jupyter Notebook 在数据分析、探索与可视化(尤其结合 BigQuery)中的使用,给出何时用笔记本、如何组织单元格、如何处理内核与依赖、以及单元格执行失败时的处理规则。
主要能力与用法:
- 选择时机:涉及洞察、趋势、探索、分析或用户明确要求图表、需要保持状态迭代查询时使用笔记本;仅需单个数字、状态检查或查看 schema 时可不用。
- 执行流程:若存在 notebook_execute_cell 工具,必须遵循“生成单元格→执行→验证”的逐步流程,一次生成一个单元格并检查输出,禁止批量生成整个笔记本;若无该工具,则一次性生成完整笔记本并请用户运行,运行后反馈以便核对与修复。
- 内核与环境:区分 Local Python、Dataproc Serverless、Dataproc Cluster、Colab 等内核;BigFrames 与 BigQuery 笔记本须用 Local Python。出现无内核或内核未找到错误时必须立即停止,等待用户确认内核可用。安装依赖前先用 @skill:managing-python-dependencies 检测依赖管理方式,远程内核先用 %pip list 或导入确认包是否已存在。
- 分析与可视化:笔记本按标题、章节、取数/转换、校验、可视化、总结的结构组织;每个单元格保持单一逻辑;图表需区分颜色、调整尺寸避免标签重叠、使用内联图;聚类先用 PCA 降至二维再散点图;折线图仅用于连续数据。数据清洗需注意缺失值与重复值,非必要不删列。
- BigQuery:使用 BigFrames magics 的 %%bqsql 执行 SQL,须提供 DataFrame 名称,例如 %%bqsql df_sample;初始化用 import bigframes 与 %load_ext bigframes,并要求 bigframes 2.38.0 及以上;不得使用标准 BigQuery Python 客户端或 pandas.read_gbq,不得在同一单元格混写 Python 与 %%bqsql;探索与处理用 BigFrames,机器学习用 BQML SQL 或 bigframes.ml,不用 pandas 或 Scikit-learn。
- 失败处理:瞬时错误可原样重试一次,有副作用的单元格不得盲目重试;语法/逻辑错误与缺库可由代理修复,权限、基础设施、数据或模型缺失、内核不兼容则必须停止并询问用户;严禁伪造数据、替换模型、悄悄改基础设施、降级执行环境、改写单元格意图、悄悄缩小数据范围或保留注释掉的失败代码。
限制:资料未提供具体收费、价格或平台授权信息;部分细节需结合具体运行环境与用户确认。