首頁 後端開發 Python教學 Jupyter 筆記本就像是電子表格。兩者都學。

Jupyter 筆記本就像是電子表格。兩者都學。

Dec 15, 2024 pm 09:55 PM

Jupyter Notebooks Are Like Spreadsheets. Learn Both.

電子表格是「商業軟體的暗物質」:它們無所不在,它們是隱形的,並且它們將所有東西結合在一起。商業和財務在電子表格上運作;沒有其他軟體工具能夠讓這麼多人為這麼多不同的問題建立解決方案。在這種情況下,您必須將“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 筆記本的管道。 ↩

  4. 有多少人聽說過建立電子表格的 FAST 標準? ↩

以上是Jupyter 筆記本就像是電子表格。兩者都學。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1274
29
C# 教程
1256
24
Python與C:學習曲線和易用性 Python與C:學習曲線和易用性 Apr 19, 2025 am 12:20 AM

Python更易學且易用,C 則更強大但複雜。 1.Python語法簡潔,適合初學者,動態類型和自動內存管理使其易用,但可能導致運行時錯誤。 2.C 提供低級控制和高級特性,適合高性能應用,但學習門檻高,需手動管理內存和類型安全。

Python和時間:充分利用您的學習時間 Python和時間:充分利用您的學習時間 Apr 14, 2025 am 12:02 AM

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python vs.C:探索性能和效率 Python vs.C:探索性能和效率 Apr 18, 2025 am 12:20 AM

Python在開發效率上優於C ,但C 在執行性能上更高。 1.Python的簡潔語法和豐富庫提高開發效率。 2.C 的編譯型特性和硬件控制提升執行性能。選擇時需根據項目需求權衡開發速度與執行效率。

學習Python:2小時的每日學習是否足夠? 學習Python:2小時的每日學習是否足夠? Apr 18, 2025 am 12:22 AM

每天學習Python兩個小時是否足夠?這取決於你的目標和學習方法。 1)制定清晰的學習計劃,2)選擇合適的學習資源和方法,3)動手實踐和復習鞏固,可以在這段時間內逐步掌握Python的基本知識和高級功能。

Python vs. C:了解關鍵差異 Python vs. C:了解關鍵差異 Apr 21, 2025 am 12:18 AM

Python和C 各有優勢,選擇應基於項目需求。 1)Python適合快速開發和數據處理,因其簡潔語法和動態類型。 2)C 適用於高性能和系統編程,因其靜態類型和手動內存管理。

Python標準庫的哪一部分是:列表或數組? Python標準庫的哪一部分是:列表或數組? Apr 27, 2025 am 12:03 AM

pythonlistsarepartofthestAndArdLibrary,herilearRaysarenot.listsarebuilt-In,多功能,和Rused ForStoringCollections,而EasaraySaraySaraySaraysaraySaraySaraysaraySaraysarrayModuleandleandleandlesscommonlyusedDduetolimitedFunctionalityFunctionalityFunctionality。

Python:自動化,腳本和任務管理 Python:自動化,腳本和任務管理 Apr 16, 2025 am 12:14 AM

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

Web開發的Python:關鍵應用程序 Web開發的Python:關鍵應用程序 Apr 18, 2025 am 12:20 AM

Python在Web開發中的關鍵應用包括使用Django和Flask框架、API開發、數據分析與可視化、機器學習與AI、以及性能優化。 1.Django和Flask框架:Django適合快速開發複雜應用,Flask適用於小型或高度自定義項目。 2.API開發:使用Flask或DjangoRESTFramework構建RESTfulAPI。 3.數據分析與可視化:利用Python處理數據並通過Web界面展示。 4.機器學習與AI:Python用於構建智能Web應用。 5.性能優化:通過異步編程、緩存和代碼優

See all articles