你為什麼使用 jupyter ,進行分析,而不是用 python 腳本或僅僅利用 excel ?
對我這種代碼強迫症來說,我不喜歡代碼中放進去調試的輸出和各種注釋,而Jupyter就用來記錄調試的整個思考過程。
jupyter幾乎是一個雲IDE和雲語言系統,它第一次把語言做到了雲上,跟那些gae,容器都是不一樣,它能直接使任何傳統程序變成「雲架構」。
jupyter,一個一體化的語言,IDE及通用分散式架構環境
比WEB更自然,jupyter用於通用軟體開發的創新意義:使任何傳統程序秒變WEB
讓所有app棧走jupyter-利用nginx和jupyter打造開發發布一體的多語言paas
比WEB更自然,jupyter用於通用軟體運營的創新意義:是內容創作工具更是多人協作平台
上手容易,隨處分析。
具體來說,三個優點:
1. 方便.
用單機,Python IDE: 我不可能能充分利用在單位,在家,在車上時間。
Jupyter 可能裝在雲伺服器上,用Web 瀏覽器寫代碼。 有的時候在車上,想到了什麼思路,立刻可以用手機連上雲服務
2. 超越
用Access, Excel, 無法處理這麼大的數據(效率和時間)。壓縮成HDF格式的數據還要大約200M磁碟空間。計算時候, 作分組,聚合時候最大內存消耗超過了1.5G.
多圖比較,幾行代碼就可以刷出來。 Access, Excel 只能看單圖,或者N多手工操作
3.超能
非常多的庫。
最愛,Pandas Matplotlib, 出常見分析圖形只要一個plot()函數。 X軸,Y軸,圖例,標籤自動適應。
為了用Jupyter, 我還在阿里家租了個最便宜的雲伺服器。
Jupyter + 雲= Web界面,移動,在家,在公司,在車上都可以玩Python了。
最近用Jupyter 分析指數的歷史數據,看標準差和Z指。
下面是,我在雪球和知乎發的三個帖子。
1.一個韭菜用Python採集,清洗和分析中證指數
2. 滬深300進入低估區了嗎? 沒有。好像中證環保現在低估了。
3. 跌跌更健康,8月3日低估指數表
作為一個初學者,不得不說jupyter notebook比python自帶的IDLE好用多了!
Jupyter是一個在線編輯器,響應非常快速,就像你的一個思維草稿本,你能夠在上面反覆修改,運行交互,立馬能夠看到編程結果。
而且還支持markdown,能夠賞心悅目的把你的思路結合code寫下來~好重點來了,怎麼安裝使用呢?當然是直接安裝anaconda-navigator啦!來,順便安利一發anacondaanaconda集成了python特別多常用的庫,讓使用過程變得很簡單,推薦推薦~
* Numpy
* Ipyhthon
* matplotlib
* scipy
jupyter牛逼在交互性,可展示性,前後端分開。其實幾個高票答案把ipython的特性算到notebook上。但是這是兩個項目。magic命令,debug功能,直接執行bash命令,在ipython命令行里都可用。ide太重了,對於數據分析和建模,很多功能用不到,比如工程資源的管理,gui輔助調試,查詢api文檔等。命令行又太不友好了,操作不方便,出圖還要調用系統默認圖片顯示軟體。jupyter就是結合了兩者優點,還加入了其他專門為數據分析而生的功能。圖片顯示方便,支持互動式widget(js寫的),markdown,latex支持,起泡提示docstring。另外因為是服務端和前端分開了,可以讓專業工程師部署和維護。最大節省了本地資源。分析師只要會用瀏覽器就行了。使用者不需要考慮資料庫通不通,磁碟備份和安全,怎麼裝git,使用virtual env,許可權管理。這些都有專業工程師搞定。同時團隊間共享一些資源也方便(中間數據,圖片,notebook),因為都在一個伺服器。大家library版本都是統一的,避免潛在不兼容問題。
目前用過的python ide有spyder, pycharm以及近年出的仿R studio的Rodeo,還是感覺jupyter notebook用的最得心應手。特別是在數據分析、機器學習等python編程的主力領域,我們的研究過程常常是探索性的,導入數據,查看數據的統計特徵,試試這個模型,試試那個處理方法等,在這種情況下,notebook確實可以為我們提供一個高級「草稿本」,有了它,我們可以展示我們的探索過程,也可以在事後刪去那些不相關的部分。應該說,jupyter notebook的流行是和特定領域的工作方式分不開的。比如,在python的網路開發領域,更流行的應該是pycharm,因為大家的工作並不一樣。
jupyter notebook的另外一個妙用是:提供了一種新的代碼復用的方式。編程領域常見的代碼復用方式編寫一個新的外部庫,然後提交到pypi或github,然後大家需要pip安裝,整個流程還是比較複雜的。這種方式對於那些大型的庫是很好的,但對於一些處理小問題的小腳本就有點大材小用了。比如,我只是想寫一個繪製函數圖像的腳本,其中預設一些繪圖的格式,我就是只需要將相關功能實現在一個Notebook中,像這樣:使用matplotlib繪製函數圖像,當你把notebook下載起來,安裝必要的庫,然後就可以直接在notebook是使用相應的功能了。在notebook常用的領域中,像科學計算、數據分析與機器學習,這種代碼復用的方式是非常方便的。
至於notebook可能造成的濫用問題,我覺得這個可以通過使用者的代碼規範來加以解決,適當設計整個book的結構,比如第一行寫上這個Notebook的作者,聯繫方式,主要用途等信息,第二行導入所有必要的庫,然後之下的每一行都是一個單獨的功能模塊,這樣整個代碼的結構就會清晰很多。這個方面,一些kaggle上面優秀的notebook很值得學習。
最後,打個廣告,我的博客上偶爾會分享一些我日常用到的,有一定復用價值的notebook,歡迎大家來訪。
覺得emacs的org-mode比jupyter好用,在瀏覽器裡頭寫東西還是不習慣
我理解的是,最重要一點就是它的可重用性,如其名能當筆記記錄下編碼的思維過程。另外GitHub現在也支持這種格式
總結一下,可能應該是這樣。做實驗,寫小paper,用jupter很方便。如果做大型的項目開發和應用還是老老實實用規範化的編程軟體。
Jupyter本身並沒有提供任何的計算或數據分析功能,其設計目的是在互動式計算和軟體開發這兩個方面最大化的提高生產力。 它鼓勵一種 執行-探索 的工作模式 ,而不是其他編程語言那種 編輯-編譯-運行 的傳統工作模式, 由於大部分的數據分析代碼都含有探索模式操作(試誤法和迭代法),因此Jupyter將有助於提高你的工作效率。 --摘自《Python for Data Analysis》
方便溝通。
我和我說各種語言,在各種時區的同事,可以靠互丟notebook幫彼此debug。舉個簡單的例子,兩張csv表,每個大概50萬行,然後你需要vlookup
1. 用excel,你看著下面的calculation百分比,從0%到1%大概需要1分鐘2. 直接用python。你用了pandas,read_csv,每次10秒,於是每次調試代碼的時候都需要讀一次csv3. 用了jupyter,依然pandas,依然read_csv,花了10秒,但從此寫入內存,要vlookup的話只要merge兩個dataframe就好,省時省力何況,50萬行根本不是什麼大數據入門一下就知道為什麼了
你值得擁有
大部分用戶僅僅知道 jupyter notebook,以及在windows下及其鬼畜的啟動目錄
其實只開發了jupyter 10%不到的功能。
為了 fully utilize 這個App,我們需要搞一台VPS,然後安上jupyterhub
然後自己寫的module全部cp到site-packages下
然後...但凡有個瀏覽器的設備,手機,ipad,都能敲python code
最強的hand off,沒有之一。
P.S. @子珂 Jupyter 畫圖不能交互的問題可以用plotly解決。跟jupyter銜接的很好。
因為分析本身就不是一個步驟和結果很明確的事情。
你經常會因為結果不合理而去重新調整。也就是是說你大部分時間都是在嘗試,那這樣的話還有比jupyter更合適的工具嗎?工作的時候是無所謂過程的,因為首先是結果其次是過程。當然個人的時候我們又是另外一種心態了。最近剛接觸,驚艷到我了。。這不就是我夢寐以求的功能嗎?想怎麼改就怎麼改,快捷鍵立即查看效果,從此告別了複製粘貼…
n年前我是多麼希望在我看完代碼後能看到結果(這樣能顯著加強對代碼的理解),無奈只好自己本地建文件編輯編譯運行看結果。你說把結果粘貼到代碼中吧,不是不行,就是有點low....況且若是不斷調試某一邏輯,結果不斷變,那我就蒙蔽了…
如今發現了jupyter,那酸爽,那快速迭代的感覺,嘖嘖……
當然咋家以為,jupyter特別適合那種有著微妙語法的語言,像shell,多個引號,少個空格,結果就不一樣,有超強的快速編輯和快速顯示需求; 像c語言就不太合適了1.適合教程演示,天生適合step by step。2.保存前幾步工作環境,可以節約時間和能源。3.支持你腦洞大開的瞎折騰。
之前用過,但是還是感覺直接ipython就挺好用的,沒找到點在哪。有大神可以對比下嗎?
Jupyter notebook,顧名思義,存在的意義在於保存筆記知識。
它的優點在於可以把數據圖表,代碼,基於Markdown 的文字筆記,數學公式,放在Jupyter這個容器裡面。jupyter 語法提示再豐富些就更棒棒噠了!
簡單的事情,還是excel方便。尤其是金融、財務領域數據量不大的時候,用python做下規劃求解,比excel繁瑣太多。
good
下一個,學習一下
這叫做REPL比較方便吧
jupyter就是ipython。
安裝ipython後,在運行行輸入ipython notebook,就打開了ipython的notebook模式,不明白為什麼很多人認為jupeter 比ipython好用,其實jupyter就是包裝了ipython notebook。
新計算機語言出來了阿
推薦閱讀:
※「男友讓我打十萬個「對不起」,漢字標上多少遍。」這個問題用 R 如何實現?
※python有大量機器學習庫,但是不能結合hadoop,該如何實現大規模的機器學習?
※從零到搭建一個能提供API介面的網站,過程是怎樣的?
※定位後端開發,有哪些書籍值得推薦?
※哪裡能找到 Python 視頻教程地址?
TAG:Python | MicrosoftExcel | IPython | JupyterNotebookIPythonNotebook |