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

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

DDD
DDD原創
2024-12-15 21:55:15230瀏覽

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