0

0

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

心靈之曲

心靈之曲

发布时间:2024-12-13 08:39:44

|

732人浏览过

|

来源于dev.to

转载

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 就像打开充满安全漏洞和维护难题的潘多拉魔盒。

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

Quinvio AI
Quinvio AI

AI辅助下快速创建视频,虚拟代言人

下载

结论

使用最适合您解决问题的组织文化的工具。在某些情况下,技术要求会迫使您使用一种工具而不是另一种工具,就像只允许您使用一种工具或另一种工具的组织。如果您在 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 标准? ↩

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
fprintf在matlab中的用法
fprintf在matlab中的用法

fprintf是MATLAB中用于格式化输出的函数。fprintf的基本语法为“fprintf(fileID, format, A)”,其中,fileID是一个标识符,用于指定要写入的文件,如果要将数据写入到命令窗口中,则可以使用1作为fileID的值,format是一个字符串,用于指定输出的格式,A是要输出的数据。

503

2023.09.28

数据分析工具有哪些
数据分析工具有哪些

数据分析工具有Excel、SQL、Python、R、Tableau、Power BI、SAS、SPSS和MATLAB等。详细介绍:1、Excel,具有强大的计算和数据处理功能;2、SQL,可以进行数据查询、过滤、排序、聚合等操作;3、Python,拥有丰富的数据分析库;4、R,拥有丰富的统计分析库和图形库;5、Tableau,提供了直观易用的用户界面等等。

1133

2023.10.12

Matlab中length函数的用法
Matlab中length函数的用法

在Matlab中,length函数用于返回向量、数组或字符串中的元素个数。想了解更多length函数的相关内容,可以阅读本专题下面的文章。

332

2023.11.22

Matlab中axis函数用法
Matlab中axis函数用法

在Matlab中,axis函数用于控制坐标轴的范围和比例。想了解更多axis函数的相关内容,可以阅读本专题下面的文章。

783

2023.11.23

subplot在matlab中的用法
subplot在matlab中的用法

subplot在matlab中用于在同一个图窗中创建多个子图。通过指定子图的行数、列数和当前绘图位置,可以在每个子图中绘制不同的图形。想了解更多subplot在matlab中的用法,可以访问下面的文章。

150

2023.11.27

scilab和matlab的区别
scilab和matlab的区别

scilab和matlab的区别:1、注释符号;2、预设变量的表示;3、操作符的用法;4、矩阵的定义与调用;5、程序的编辑与执行;6、数据类型;7、函数库;8、图形界面;9、社区支持与生态系统;10、跨平台兼容性;11、价格。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

193

2023.12.11

Matlab如何四舍五入
Matlab如何四舍五入

Matlab可以通过round函数和格式化输出函数来对数值来进行四舍五入操作。更多关于Matlab相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

429

2023.12.12

Matlab中axis函数用法介绍
Matlab中axis函数用法介绍

在Matlab中,axis函数用于设置当前坐标轴的范围和刻度。想了解更多axis函数的相关内容,可以阅读本专题下面的文章。

163

2023.12.13

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

22

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号