這是一款與 Python 深度集成、基于 Web 開發(fā)、無需在各個(gè)工具之間切換、適用大部分職業(yè)工作場(chǎng)景的開源電子表格應(yīng)用程序。對(duì)它的評(píng)價(jià)只有 Wow awesome,amazing! 一位名叫 Rick Lamers 的外國(guó)小哥開源了一款與 Python 深度集成、基于 Web 的電子表格應(yīng)用程序。 這個(gè)開源項(xiàng)目有多牛呢?如果你經(jīng)常與 Excel、R Studio 和 Python 打交道,反復(fù)在各個(gè)應(yīng)用間切換,它可以完美解決你的所有問題。這是一款程序員能用、運(yùn)營(yíng)能用、產(chǎn)品能用、財(cái)務(wù)能用的神器級(jí) IDE。 為什么要開發(fā) Grid Studio?Grid Studio 主要要解決的問題是如何在開發(fā)數(shù)據(jù)科學(xué)項(xiàng)目時(shí)不需要在各種工具(比如 R Sudio、Excel)之間切來切去,因?yàn)槟欠N體驗(yàn)實(shí)在太糟糕了。 在導(dǎo)出 CSV 文件時(shí),因?yàn)樾袛?shù)太多或者嘗試讀取 JSON 文件會(huì)導(dǎo)致應(yīng)用程序窗口沒有響應(yīng)。現(xiàn)有的工具無法提供高效的開發(fā)環(huán)境和工作流。 于是,Rick 決定開發(fā)一個(gè)工具,把他的工作流集成在一起,可以方便地應(yīng)對(duì)各種項(xiàng)目。 Grid Studio 的工作原理Grid Studio 是一款基于 Web 的應(yīng)用程序,看起來和 Google Sheets 或 Excel 很像。不過,它的殺手锏特性是與 Python 的深度集成。 你可以直接用它查看和編輯表格結(jié)構(gòu)的數(shù)據(jù),也可以直接在上面編寫和執(zhí)行 Python 代碼。 在 Grid Studio 中可以直接通過 Python 讀寫電子表格。 要向表格中寫入數(shù)據(jù),可以這樣: sheet("A1:A3", [1, 2, 3]) 要從表格中讀取數(shù)據(jù),可以這樣: my_matrix = sheet("A1:A3") 這些簡(jiǎn)單的函數(shù)可以實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)錄入、抽取、可視化,等等。 編寫自定義函數(shù)雖然上述的讀寫函數(shù)已經(jīng)可以滿足很多需求,但有時(shí)候也需要編寫自定義函數(shù),然后在表格中調(diào)用這些函數(shù)。 Grid Studio 默認(rèn)支持常用的表格函數(shù),比如 AVERAGE、SUM、IF,等等。但如果你想要使用其他函數(shù),那該怎么辦? 自己動(dòng)手寫! def UPPERCASE(a): 然后就可以在表格中調(diào)用這個(gè)函數(shù),就像調(diào)用常規(guī)的函數(shù)一樣。 利用 Python 生態(tài)系統(tǒng)Python 生態(tài)系統(tǒng)提供了很多非常棒的數(shù)據(jù)科學(xué)開發(fā)工具: 借助這些工具可以很容易地使用強(qiáng)大的模型,比如線性回歸和 SVM。 Docker 運(yùn)行時(shí)Grid Studio 運(yùn)行在 Docker 容器中,可以很方便地訪問 UNIX 環(huán)境(甚至是 Windows?。┲械臇|西:Python、scikit-learn、numpa、pandas、terminal、wget、zip,等等。 Grid Studio 提供了預(yù)先構(gòu)建好的 Docker 鏡像,可以通過簡(jiǎn)單的命令行來啟動(dòng)。 數(shù)據(jù)可視化數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)的一項(xiàng)常見任務(wù)。Grid Studio 與 Plotly.js 和 Matplotlib 深度集成,為高級(jí)數(shù)據(jù)可視化提供了內(nèi)置支持。 為了演示 Grid Studio 的功能,接下來將提供一些具體的例子。 示例:爬取網(wǎng)絡(luò)內(nèi)容 之前爬取網(wǎng)絡(luò)內(nèi)容可能需要在各種工具之間切換,現(xiàn)在只需要一個(gè)腳本就夠了。 在上面的示例中,一個(gè)簡(jiǎn)短的腳本直接將 Hacker News 網(wǎng)站的文章加載到表格中。 腳本地址: https://github.com/ricklamers/gridstudio/blob/master/examples/scrape.py 示例:估計(jì)正態(tài)分布 這個(gè)例子演示了使用 Plotly.js 進(jìn)行高保真正態(tài)分布估計(jì),交互式繪圖讓你對(duì)正在發(fā)生的事情一目了然。 腳本地址: https://github.com/ricklamers/gridstudio/blob/master/examples/estimate_normal.py 開源動(dòng)機(jī)雖然最初 Rick 想將這個(gè)工具打造成一個(gè)商業(yè)項(xiàng)目,但最后還是決定將其開源,讓每個(gè)人都能使用它,并有可能由來自社區(qū)的一小批數(shù)據(jù)愛好者負(fù)責(zé)開發(fā)。 在開發(fā)這個(gè)工具的初期,他發(fā)現(xiàn)有很多項(xiàng)目都提供了類似的功能。 首先,有一個(gè)叫作 xlwings(https://www./)的插件將 Python 直接集成到 Excel 中。盡管它并不是真的將電子表格和 Python 集成到單個(gè)產(chǎn)品中,但確實(shí)為用戶提供了一個(gè)完整的 Excel 開發(fā)環(huán)境。 其次,Python 已經(jīng)從 IPython 轉(zhuǎn)向了 Jupyter Notebooks,為數(shù)據(jù)科學(xué)家提供了一個(gè)很好的開發(fā)環(huán)境。雖然它仍然缺乏電子表格功能,但對(duì)于初級(jí)數(shù)據(jù)科學(xué)家來說仍然很有吸引力。 總的來說,如果把 Grid Studio 做成商業(yè)項(xiàng)目,它就要與這些開源產(chǎn)品展開競(jìng)爭(zhēng),這樣在價(jià)格上就不會(huì)有任何優(yōu)勢(shì)。Rick 堅(jiān)信 Grid Studio 提供了一些獨(dú)特的功能,在某些場(chǎng)景下會(huì)成為不二之選。 Grid Studio 的項(xiàng)目地址: https://github.com/ricklamers/gridstudio。 開發(fā)者評(píng)價(jià)東西好不好,開發(fā)者最知道。 Bruh, this is amazing. You should sell this shit are you kidding me?!兄弟,這也太牛了,你應(yīng)該把這玩意兒賣錢啊,(開源)是在逗我?As a heavy excel user who despises vba, this looks amazing 作為一個(gè)鄙視 VBA 的 Excel 重度用戶,這也太牛了吧 I showed this to my brother, who's not a programmer, and he said "holy shit!". Well, it's impressive. Good job! 我把這個(gè)給我不是程序員的哥哥看,他說:我去,太牛了,干得漂亮! 除了整齊劃一的 wow awesome、amazing 的贊嘆,開發(fā)者們同樣提出了很多改進(jìn)意見,并且表示可以加入社區(qū)一起優(yōu)化這個(gè)工具。 版本和開發(fā)計(jì)劃Grid Studio 現(xiàn)在就可以從 GitHub 上下載了。
如何使用 Grid Studio?在本地安裝 Grid Studio(確保已經(jīng)安裝了 Docker):
你感興趣嗎?
|
|