很多開(kāi)發(fā)者說(shuō)自從有了 Python/Pandas,Excel 都不怎么用了,用它來(lái)處理與可視化表格非??焖?。但是這樣還是有一大缺陷,操作不是可視化的表格,因此對技能要求更高一點(diǎn)。近日,開(kāi)發(fā)者構建了名為 Grid studio 的開(kāi)源項目,它是一個(gè)基于網(wǎng)頁(yè)的表格應用,完全結合了 Python 和 Excel 的優(yōu)勢。
是的,在一個(gè)界面上同時(shí)展示可視化表格與代碼,而且同時(shí)通過(guò)表格與代碼修改數據,這不就是 Python 與 Excel 的結合嗎?
項目地址:https://github.com/ricklamers/gridstudio
我們先看看 Grid studio 的效果到底是什么樣的??傮w而言,我們既可以通過(guò) Python 加載和處理數據,也能通過(guò)「Excel」操作數據。
在 Python 上處理數據比較好理解,表格上處理數據其實(shí)非常像 Excel,如下所示為寫(xiě)一個(gè)求和公式。
也許我們在表格上改了些數據,那么我們也能導入到 NumPy 數組,并做進(jìn)一步的運算。
作者表示,他創(chuàng )建 Grid studio 主要是用來(lái)解決數據科學(xué)項目中工作流分散的問(wèn)題,在這種項目中,他要在 R studio、Excel 等多個(gè)工具之間換來(lái)?yè)Q去。
在為 gazillionth-time 導出 CSV 文件時(shí),如果行數過(guò)高,應用程序窗口就會(huì )卡頓。即使是做一些簡(jiǎn)單的事情,比如讀取 JSON 文件,也能把人逼瘋?,F有的工具無(wú)法提供高效工作所需的環(huán)境和相關(guān)工作流,這也是作者決定構建該工具的原因。他想要創(chuàng )建一個(gè)易用的應用程序,可以把數據科學(xué)工作流整合進(jìn)去。
Grid studio 是一個(gè)基于網(wǎng)頁(yè)的應用,看起來(lái)和 Google Sheets、Microsoft Excel 差不多。然而,它的殺手锏是整合了 Python 語(yǔ)言。
幾乎所有使用過(guò)計算機的人都會(huì )很自然地使用表格來(lái)查看和編輯數據。將這個(gè)簡(jiǎn)單的 UI 與 Python 這種成熟的編程語(yǔ)言結合起來(lái)簡(jiǎn)直不要太好用。
用 Python 編寫(xiě)腳本非常簡(jiǎn)單:只需編寫(xiě)幾行代碼直接運行即可。
這一 Python 集成的核心是對電子表格的讀寫(xiě)接口,它可以在電子表格的數據和 Python 進(jìn)程中的數據之間建立一個(gè)高性能的連接。
sheet("A1:A3", [1, 2, 3])
my_matrix = sheet("A1:A3")
你可以通過(guò)這種簡(jiǎn)單而高效的方式直接在表格中讀取或寫(xiě)入數據,以自動(dòng)化數據輸入、提取、可視化等過(guò)程。
雖然通過(guò)一個(gè)簡(jiǎn)單的接口完成讀寫(xiě)非常靈活,但有時(shí)編寫(xiě)可以直接調出的定制化函數也很重要。
除了 AVERAGE、SUM、IF 這些默認函數外,你可能還需要其他函數,那么寫(xiě)出來(lái)就好了!
def UPPERCASE(a):
return str(a).uppercase()
寫(xiě)完這行代碼后,在表格中調出該函數,就像調用常規函數一樣。
通過(guò)利用 Python 生態(tài)中各種強大的軟件包,我們能立即訪(fǎng)問(wèn)到當前最優(yōu)的數據科學(xué)工具,因此也能快速訪(fǎng)問(wèn)到強大的模型,例如線(xiàn)性回歸和支持向量機等。
因為本身 Grid studio 主要就是處理表格數據,那么將它們作為特征可以快速調用 SVM 等模型,從而探索隱藏在這些數據背后的特征。
在數據科學(xué)中,很常見(jiàn)的一個(gè)任務(wù)就是可視化數據,這樣才能獲得關(guān)于數據的「先驗知識」。通過(guò)集成交互式繪圖庫 Plotly.js 和 Python 標準可視化庫 Matplotlib,Grid studio 目前已經(jīng)內置了高級繪圖功能。如下所示我們可以在向量表格格式上使用高級繪圖功能:
為了進(jìn)一步解釋如何使用 Grid studio 的特征以構建可視化圖標,項目作者還展示了兩個(gè)案例,即爬取網(wǎng)頁(yè)與可視化數據分布,但這里主要展示第一個(gè)案例。
如下案例展示了 Grid studio 的強大功能,它會(huì )以更高的保真度通過(guò) Plotly.js 可視化正態(tài)分布,我們可以看看交互式制圖到底是如何完成的。
前面介紹了這么多特性,那么我們到底該怎么用呢?Grid studio 的安裝和使用都非常簡(jiǎn)單,通過(guò)簡(jiǎn)單的命令行就能搞定。
如上通過(guò)下載項目、運行安裝腳本兩步,我們就能在瀏覽器中打開(kāi)本地端口,然后就能愉快地使用了。