90% 的 Python 开发人员在滥用 Jupyter Notebook?
仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
作为一名数据科学家和Python开发者,JupyterNotebook多年来一直是我每天的创作画布。但直到交付了多个杂乱的项目、排查了各种模糊的bug,并重新翻看了六个月前的旧Notebook后,我才意识到该如何避免使用它们。
这篇文章并非讨论重启内核或使用%matplotlibinline之类的基本技巧。这些技巧是我多年来一直忽略的细节,并使你的笔记本更简洁、更快速、更专业。
为了更实际地实现这一点,我们将使用一个虚构的美国宠物收养趋势数据集。我们深入研究一下。
太多笔记本会将参数埋藏在随机单元格中。在笔记本顶部使用专用的配置单元格,可以避免全局混乱。
好处:
可重复性:你不必滚动来查找参数的定义位置。
易于修改:在一个地方更改路径、种子或参数。
鼓励模块化设计。
对于大型项目,请使用Config类甚至. yaml/.env文件。
脏笔记本=版本控制不佳。请使用Jupyter的内置选项或类似nbstripout的CLI工具。
File→SaveandClearAllOutputs
好处:
Git中更清晰的差异。
避免臃肿的仓库。
防止敏感数据/输出的意外泄露。
避免重复。即使在笔记本中,也可以将逻辑抽象为函数。这可以提高清晰度和可重用性。
你可以进一步创建utils. py共享代码文件:
然后导入:
(包括待办事项单元!)
我以前会忽略Markdown,或者写一些模糊的单元格注释。现在,我把Markdown当作项目文档。
以下是我对此的解释:
好处:
未来——你会感谢你自己。
合作者了解你的意图。
使笔记本更加美观且易读。
永远不要假设数据是干净的。要尽早并经常验证。
还可以通过assert语句进行验证:
以下是这些做法在快速宠物收养趋势分析中的体现。
JupyterNotebook功能强大,但也容易被误用。我们介绍的5个实践看似简单,但它们能让你JupyterNotebook更易于维护、更易于共享,并且更适合生产环境:
使用配置单元
在Git之前清除输出
将逻辑抽象为函数
有效地使用Markdown进行文档和规划
严格验证你的数据和视觉效果
在处理现实世界的数据(例如宠物领养)时,每个决策都至关重要。这些习惯正是一次性分析与可靠、可审查项目的区别所在。
长按👇关注-数据STUDIO-设为星标,干货速递