Jupyter Notebooks 就像电子表格一样学习两者

wufei123 2025-01-05 阅读:11 评论:0
电子表格是“商业软件的暗物质”:它们无处不在,它们是隐形的,并且它们将所有东西结合在一起。商业和财务在电子表格上运行;没有其他软件工具能够让这么多人为这么多不同的问题构建解决方案。在这种情况下,您必须将“Jupyter 是新 Excel”...

jupyter notebooks 就像电子表格一样学习两者

电子表格是“商业软件的暗物质”:它们无处不在,它们是隐形的,并且它们将所有东西结合在一起。商业和财务在电子表格上运行;没有其他软件工具能够让这么多人为这么多不同的问题构建解决方案。在这种情况下,您必须将“Jupyter 是新 Excel”的任何断言理解为故意耸人听闻。

但是,Jupyter 笔记本确实与 Excel 电子表格有一些关键的相似之处。笔记本在科学和统计计算中无处不在,就像电子表格在业务运营和前台财务中占据主导地位一样。在这篇文章中,我们将探讨这两种工具之间的一些哲学和实践异同,试图解释为什么两者都有如此热情的粉丝和批评者。

相似之处:优点
  • 从表面上看,Jupyter 笔记本和 Excel 电子表格都使用“单元格”作为将分析分解为离散步骤的视觉隐喻。两种格式的单元格都包含代码并显示结果。
  • 两者都是为交互式、迭代、探索性分析而设计,将计算与数据可视化相结合。
  • 两者都旨在为初学者提供浅层学习曲线。
  • 两者都被设计为独立且易于共享。 Google Colab 和 JupyterHub 等在线环境抽象化了通常很复杂的 Python 设置过程。
  • 两人都在各自领域的高等教育领域拥有强大的影响力。商学院几乎普遍使用 Excel 教授财务建模,STEM 系通常使用 Jupyter 笔记本教授数据分析1。新毕业生将他们对这些工具的熟悉带入工作场所。
相似之处:缺点

Excel电子表格和Jupyter笔记本都被软件工程师批评为不是“真正的软件”。除了两个工件都需要另一个程序来运行这一明显的限制之外,它们还使得遵守软件工程最佳实践变得困难:

  • 作为大型的整体文件,它们很难使用 git 等开发工具进行版本控制。 Office OpenXML 文档是压缩的,这会“扰乱”文件内容,以便 git 无法跟踪底层数据的更改。 Jupyter 笔记本实际上只是大型 JSON 文件,但单元输出和执行计数更改会引入多余的增量2.
  • Excel 电子表格和 Jupyter 笔记本都很难生产,尽管这两种工具在实践中确实在生产中使用。 Excel 和 Jupyter 是繁重的执行环境,它们引入了自己的依赖项,对于习惯编写独立脚本的工程师来说似乎很浪费。
  • 两者都容易出错并且难以测试。事实上,这两个平台都迎合了编写代码经验较少的用户,这让他们以创建充满错误的解决方案而闻名。事实上,如果没有单元测试或质量控制文化等工具,电子表格和笔记本中的错误更有可能进入生产。
差异
  • Excel 让非程序员更容易理解数据在单元格之间的流动方式。
    • Excel 的网格提供了一种通过单元格坐标引用数据的自然方式,而 Jupyter 依赖命名变量,迫使用户面对命名变量很难的现实。
    • 在 Excel 中检查多步计算的中间结果更容易,因为单元格就在您的前面。 Jupyter Notebook 中的打印语句需要更多的精力来设置和执行。
  • Excel 是独立的; Jupyter的价值在于Python的包生态系统。
    • Python 对外部库的依赖使得 IT 部门更容易限制 Jupyter 的使用。
    • 本地安装 Jupyter 和通过网络运行笔记本都比打开 Excel 需要更多的设置。
    • 大多数 Excel 电子表格仅使用 Excel 附带的功能,这意味着业务联系人只需打开您的模型、修改它并运行它。笔记本很难在组织外部共享,甚至在组织内部共享,因为它们与特定的 Python 环境紧密相连,而 Python 环境很难设置。
  • Excel 可以充当“穷人的数据库”,跨多个工作表存储表格数据,并通过数据透视表提供类似 OLAP 的功能。 Jupyter 笔记本通常从 API 或共享文件位置加载数据,这是它们不那么独立的另一个原因。
  • 在 Excel 中“捏造数字”比在 Jupyter 中更容易。电子表格实时更新,无需重新运行代码或设置交互式小部件。一次性更改更容易进行,这在速度至关重要的情况下很重要。
  • 在 Jupyter 中使用代码是不可避免的,但 Excel 可以完全通过 GUI 来使用:甚至有菜单可以在单元格公式中选择函数。
    • Jupyter 更加开放和灵活,但需要更多的技术知识才能有效使用。
  • Jupyter 比 Excel 更注重叙事和讲故事。
    • Jupyter 笔记本专为文学编程而设计,代码和散文散布在其中以创建叙事流程。
    • Excel 中的报告和演示通常依赖于复制/粘贴或与 PowerPoint 的集成。
影响

微软将Python集成到Excel中的努力不会显着削弱Jupyter在科学和技术计算领域的主导地位。电子表格缺乏自然的叙述结构,这使得它们不太适合教育和可重复的研究。而且,“开放科学”社区永远不会采用美国科技巨头打造的闭源工具。

将会出现工具和“最佳实践”来减轻 Jupyter 笔记本的操作缺点3,就像电子表格一样。大多数前台用户会忽略此类准则4,从而与 IT 部门造成持续的紧张关系。在见证了 Excel 的发展历程后,许多 IT 部门认为支持 Jupyter 就像打开充满安全漏洞和维护难题的潘多拉魔盒。

这两个平台都将在可预见的未来生存。两者都不会取代对方,因为它们的目标用户群具有根本不同的技能。 从事定量建模和业务决策交叉领域工作的人员将继续需要熟悉这两种工具。

结论

使用最适合您解决问题的组织文化的工具。在某些情况下,技术要求会迫使您使用一种工具而不是另一种工具,就像只允许您使用一种工具或另一种工具的组织。如果您在 Excel 主导的领域工作并且确实需要 Python 的功能,根据我的经验,从 Python 代码读取和写入 Excel 电子表格比让 Excel 用户打开 Jupyter 笔记本更容易。

全世界的软件工程师和 IT 部门将继续看不起 Jupyter 笔记本,就像他们几十年来对待电子表格一样。事实上,MBA 类型不使用 Jupyter 笔记本,这使得 IT 部门可以更轻松地对其使用实施严格的限制。讽刺的是,许多前台用户可能只有在 Microsoft 将 Python 集成到 Excel 中后才能访问它。

  1. 一些坚持不懈的人仍然使用 MATLAB、R、SPSS 或 SAS,但随着时间的推移,高昂的许可费用将继续推动用户转向免费和开源的替代方案。占领教育市场是 MathWorks 等公司商业战略的关键部分,但它们不太可能永远坚持下去。 ↩

  2. 像 nbdime 这样的工具可以帮助对 Jupyter Notebook 进行版本控制,但使用它们又增加了一层复杂性。 ↩

  3. papermill 等工具旨在简化生产环境中笔记本的运行。云提供商还支持在生产中创建涉及 Jupyter Notebook 的管道。 ↩

  4. 有多少人听说过构建电子表格的 FAST 标准? ↩

以上就是Jupyter Notebooks 就像电子表格一样学习两者的详细内容,更多请关注知识资源分享宝库其它相关文章!

版权声明

本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com

分享:

扫一扫在手机阅读、分享本文

发表评论
热门文章
  • 华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀

    华为 Mate 70 性能重回第一梯队 iPhone 16 最后一块遮羞布被掀
    华为 mate 70 或将首发麒麟新款处理器,并将此前有博主爆料其性能跑分将突破110万,这意味着 mate 70 性能将重新夺回第一梯队。也因此,苹果 iphone 16 唯一能有一战之力的性能,也要被 mate 70 拉近不少了。 据悉,华为 Mate 70 性能会大幅提升,并且销量相比 Mate 60 预计增长40% - 50%,且备货充足。如果 iPhone 16 发售日期与 Mate 70 重合,销量很可能被瞬间抢购。 不过,iPhone 16 还有一个阵地暂时难...
  • 酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元

    酷凛 ID-COOLING 推出霜界 240/360 一体水冷散热器,239/279 元
    本站 5 月 16 日消息,酷凛 id-cooling 近日推出霜界 240/360 一体式水冷散热器,采用黑色无光低调设计,分别定价 239/279 元。 本站整理霜界 240/360 散热器规格如下: 酷凛宣称这两款水冷散热器搭载“自研新 V7 水泵”,采用三相六极马达和改进的铜底方案,缩短了水流路径,相较上代水泵进一步提升解热能力。 霜界 240/360 散热器的水泵为定速 2800 RPM 设计,噪声 28db (A)。 两款一体式水冷散热器采用 27mm 厚冷排,...
  • 惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起

    惠普新款战 99 笔记本 5 月 20 日开售:酷睿 Ultra / 锐龙 8040,4999 元起
    本站 5 月 14 日消息,继上线官网后,新款惠普战 99 商用笔记本现已上架,搭载酷睿 ultra / 锐龙 8040处理器,最高可选英伟达rtx 3000 ada 独立显卡,售价 4999 元起。 战 99 锐龙版 R7-8845HS / 16GB / 1TB:4999 元 R7-8845HS / 32GB / 1TB:5299 元 R7-8845HS / RTX 4050 / 32GB / 1TB:7299 元 R7 Pro-8845HS / RTX 2000 Ada...
  • python中def什么意思

    python中def什么意思
    python 中,def 关键字用于定义函数,这些函数是代码块,执行特定任务。函数语法为 def (参数列表)。函数可以通过其名字和圆括号调用。函数可以接受参数作为输入,并在函数体中使用参数名访问。函数可以使用 return 语句返回一个值,它将成为函数调用的结果。 Python 中 def 关键字 在 Python 中,def 关键字用于定义函数。函数是代码块,旨在执行特定任务。 语法 def 函数定义的语法如下: def (参数列表): # 函数体 示例 定义...
  • python中int函数的用法

    python中int函数的用法
    int() 函数将值转换为整数,支持多种类型(字符串、字节、浮点数),默认进制为 10。可以指定进制数范围在 2-36。int() 返回 int 类型的转换结果,丢弃小数点。例如,将字符串 "42" 转换为整数为 42,将浮点数 3.14 转换为整数为 3。 Python 中的 int() 函数 int() 函数用于将各种类型的值转换为整数。它接受任何可以解释为整数的值作为输入,包括字符串、字节、浮点数和十六进制表示。 用法 int(object, base=10) 其中...