首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Papermill,一个参数化Jupyter笔记本的 Python 库!

Papermill:把 Jupyter 笔记本玩出新花样!

Papermill 是个挺有意思的工具,它能让咱们的 Jupyter 笔记本变得更灵活。写好一个笔记本后,想换不同的参数重跑?想批量处理一堆数据?用 Papermill 就对了!它让笔记本从静态文档变成了可以自动化运行的“小程序”。

1.

参数化笔记本咋整?

要用 Papermill,得先给笔记本里的参数做个标记。我习惯在一个单独的 cell 里放所有参数,加个特殊的标签 parameters:

# 这个 cell 要标记为 parameters

data_path = “data/sales.csv”

threshold = 100

max_items = 1000

弄完这个,笔记本里其他地方就能随便用这些参数了。改参数的时候不用翻来翻去改代码,多清爽!

2.

跑起来!

参数标记好了,就能用 Python 代码执行这个笔记本:

import papermill as pm

pm.execute_notebook(

'input.ipynb',

'output.ipynb',

parameters={

'data_path': 'new_data.csv',

'threshold': 200,

'max_items': 2000

}

)

温馨提示:output.ipynb 要是已经存在,Papermill 会直接覆盖掉它,记得提前备份重要文件哦!

3.

批量处理有妙招

要是手头有一堆数据要处理,可以玩个循环:

data_files = ['data1.csv', 'data2.csv', 'data3.csv']

for idx, file in enumerate(data_files):

pm.execute_notebook(

'template.ipynb',

f'output_{idx}.ipynb',

parameters={'data_path': file}

)

4.

错误处理要上心

代码运行要是出岔子了,Papermill 会抛出异常,咱得好好处理:

try:

pm.execute_notebook(...)

except pm.PapermillExecutionError as e:

print(f“哎呀,出错了:{str(e)}”)

调试的时候可以看看生成的 output 笔记本,每个 cell 的执行状态和错误信息都记录得清清楚楚。

把 Jupyter 笔记本变成可重复使用的模板,简直不要太爽!不用复制粘贴改来改去,代码更容易维护,效率蹭蹭往上涨。要是想把数据分析自动化,Papermill 绝对是个好帮手。

在看的,麻烦点一下再走好吗

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OzfNSFz88u5PT-2wBC8CZH0g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券