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

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
Python:關鍵功能是什麼Python:關鍵功能是什麼May 14, 2025 am 12:02 AM

Python的關鍵特性包括:1.語法簡潔易懂,適合初學者;2.動態類型系統,提高開發速度;3.豐富的標準庫,支持多種任務;4.強大的社區和生態系統,提供廣泛支持;5.解釋性,適合腳本和快速原型開發;6.多範式支持,適用於各種編程風格。

Python:編譯器還是解釋器?Python:編譯器還是解釋器?May 13, 2025 am 12:10 AM

Python是解釋型語言,但也包含編譯過程。 1)Python代碼先編譯成字節碼。 2)字節碼由Python虛擬機解釋執行。 3)這種混合機制使Python既靈活又高效,但執行速度不如完全編譯型語言。

python用於循環與循環時:何時使用哪個?python用於循環與循環時:何時使用哪個?May 13, 2025 am 12:07 AM

UseeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.forloopsareIdealForkNownsences,而WhileLeleLeleLeleLeleLoopSituationSituationsItuationsItuationSuationSituationswithUndEtermentersitations。

Python循環:最常見的錯誤Python循環:最常見的錯誤May 13, 2025 am 12:07 AM

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐個偏置,零indexingissues,andnestedloopineflinefficiencies

對於循環和python中的循環時:每個循環的優點是什麼?對於循環和python中的循環時:每個循環的優點是什麼?May 13, 2025 am 12:01 AM

forloopsareadvantageousforknowniterations and sequests,供應模擬性和可讀性;而LileLoopSareIdealFordyNamicConcitionSandunknowniterations,提供ControloperRoverTermination.1)forloopsareperfectForeTectForeTerToratingOrtratingRiteratingOrtratingRitterlistlistslists,callings conspass,calplace,cal,ofstrings ofstrings,orstrings,orstrings,orstrings ofcces

Python:深入研究彙編和解釋Python:深入研究彙編和解釋May 12, 2025 am 12:14 AM

pythonisehybridmodeLofCompilation和interpretation:1)thepythoninterpretercompilesourcecececodeintoplatform- interpententbybytecode.2)thepythonvirtualmachine(pvm)thenexecutecutestestestestestesthisbytecode,ballancingEaseofuseEfuseWithPerformance。

Python是一種解釋或編譯語言,為什麼重要?Python是一種解釋或編譯語言,為什麼重要?May 12, 2025 am 12:09 AM

pythonisbothinterpretedAndCompiled.1)它的compiledTobyTecodeForportabilityAcrosplatforms.2)bytecodeisthenInterpreted,允許fordingfordforderynamictynamictymictymictymictyandrapiddefupment,儘管Ititmaybeslowerthananeflowerthanancompiledcompiledlanguages。

對於python中的循環時循環與循環:解釋了關鍵差異對於python中的循環時循環與循環:解釋了關鍵差異May 12, 2025 am 12:08 AM

在您的知識之際,而foroopsareideal insinAdvance中,而WhileLoopSareBetterForsituations則youneedtoloopuntilaconditionismet

See all articles

熱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

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

熱門文章

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

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

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具