很多開發(fā)者說(shuō)自從有了 Python/Pandas,Excel 都不怎么用了峭范,用它來(lái)處理與可視化表格非巢扑桑快速。但是這樣還是有一大缺陷纱控,操作不是可視化的表格辆毡,因此對(duì)技能要求更高一點(diǎn)。近日甜害,開發(fā)者構(gòu)建了名為 Grid studio 的開源項(xiàng)目舶掖,它是一個(gè)基于網(wǎng)頁(yè)的表格應(yīng)用,完全結(jié)合了 Python 和 Excel 的優(yōu)勢(shì)尔店。
是的眨攘,在一個(gè)界面上同時(shí)展示可視化表格與代碼,而且同時(shí)通過(guò)表格與代碼修改數(shù)據(jù)嚣州,這不就是 Python 與 Excel 的結(jié)合嗎鲫售?
項(xiàng)目地址:https://github.com/ricklamers/gridstudio
我們先看看 Grid studio 的效果到底是什么樣的”芊蹋總體而言龟虎,我們既可以通過(guò) Python 加載和處理數(shù)據(jù),也能通過(guò)「Excel」操作數(shù)據(jù)沙庐。
在 Python 上處理數(shù)據(jù)比較好理解鲤妥,表格上處理數(shù)據(jù)其實(shí)非常像 Excel,如下所示為寫一個(gè)求和公式拱雏。
也許我們?cè)诒砀裆细牧诵?shù)據(jù)棉安,那么我們也能導(dǎo)入到 NumPy 數(shù)組,并做進(jìn)一步的運(yùn)算铸抑。
為什么要?jiǎng)?chuàng)建這個(gè)工具贡耽?
作者表示,他創(chuàng)建 Grid studio 主要是用來(lái)解決數(shù)據(jù)科學(xué)項(xiàng)目中工作流分散的問(wèn)題鹊汛,在這種項(xiàng)目中蒲赂,他要在 R studio、Excel 等多個(gè)工具之間換來(lái)?yè)Q去刁憋。
在為 gazillionth-time 導(dǎo)出 CSV 文件時(shí)滥嘴,如果行數(shù)過(guò)高,應(yīng)用程序窗口就會(huì)卡頓至耻。即使是做一些簡(jiǎn)單的事情若皱,比如讀取 JSON 文件镊叁,也能把人逼瘋。現(xiàn)有的工具無(wú)法提供高效工作所需的環(huán)境和相關(guān)工作流走触,這也是作者決定構(gòu)建該工具的原因晦譬。他想要?jiǎng)?chuàng)建一個(gè)易用的應(yīng)用程序,可以把數(shù)據(jù)科學(xué)工作流整合進(jìn)去互广。
這個(gè)工具有何亮點(diǎn)敛腌?
Grid studio 是一個(gè)基于網(wǎng)頁(yè)的應(yīng)用,看起來(lái)和 Google Sheets惫皱、Microsoft Excel 差不多迎瞧。然而,它的殺手锏是整合了 Python 語(yǔ)言逸吵。
幾乎所有使用過(guò)計(jì)算機(jī)的人都會(huì)很自然地使用表格來(lái)查看和編輯數(shù)據(jù)凶硅。將這個(gè)簡(jiǎn)單的 UI 與 Python 這種成熟的編程語(yǔ)言結(jié)合起來(lái)簡(jiǎn)直不要太好用。
用 Python 編寫腳本非常簡(jiǎn)單:只需編寫幾行代碼直接運(yùn)行即可扫皱。
核心集成:讀足绅、寫
這一 Python 集成的核心是對(duì)電子表格的讀寫接口,它可以在電子表格的數(shù)據(jù)和 Python 進(jìn)程中的數(shù)據(jù)之間建立一個(gè)高性能的連接韩脑。
可以用以下方式在表格中寫入數(shù)據(jù):
sheet("A1:A3", [1, 2, 3])
用以下這種方式從表格中讀取數(shù)據(jù):
my_matrix = sheet("A1:A3")
你可以通過(guò)這種簡(jiǎn)單而高效的方式直接在表格中讀取或?qū)懭霐?shù)據(jù)氢妈,以自動(dòng)化數(shù)據(jù)輸入、提取段多、可視化等過(guò)程首量。
編寫定制化表格函數(shù)
雖然通過(guò)一個(gè)簡(jiǎn)單的接口完成讀寫非常靈活,但有時(shí)編寫可以直接調(diào)出的定制化函數(shù)也很重要进苍。
除了 AVERAGE加缘、SUM、IF 這些默認(rèn)函數(shù)外觉啊,你可能還需要其他函數(shù)拣宏,那么寫出來(lái)就好了!
def UPPERCASE(a):
return str(a).uppercase()
寫完這行代碼后杠人,在表格中調(diào)出該函數(shù)勋乾,就像調(diào)用常規(guī)函數(shù)一樣。
利用 Python 生態(tài)
通過(guò)利用 Python 生態(tài)中各種強(qiáng)大的軟件包嗡善,我們能立即訪問(wèn)到當(dāng)前最優(yōu)的數(shù)據(jù)科學(xué)工具辑莫,因此也能快速訪問(wèn)到強(qiáng)大的模型,例如線性回歸和支持向量機(jī)等罩引。
因?yàn)楸旧?Grid studio 主要就是處理表格數(shù)據(jù)各吨,那么將它們作為特征可以快速調(diào)用 SVM 等模型,從而探索隱藏在這些數(shù)據(jù)背后的特征蜒程。
數(shù)據(jù)可視化
在數(shù)據(jù)科學(xué)中偎蘸,很常見的一個(gè)任務(wù)就是可視化數(shù)據(jù)告组,這樣才能獲得關(guān)于數(shù)據(jù)的「先驗(yàn)知識(shí)」。通過(guò)集成交互式繪圖庫(kù) Plotly.js 和 Python 標(biāo)準(zhǔn)可視化庫(kù) Matplotlib,Grid studio 目前已經(jīng)內(nèi)置了高級(jí)繪圖功能枯夜。如下所示我們可以在向量表格格式上使用高級(jí)繪圖功能:
為了進(jìn)一步解釋如何使用 Grid studio 的特征以構(gòu)建可視化圖標(biāo),項(xiàng)目作者還展示了兩個(gè)案例膛腐,即爬取網(wǎng)頁(yè)與可視化數(shù)據(jù)分布遗增,但這里主要展示第一個(gè)案例。
案例:估計(jì)正態(tài)分布
如下案例展示了 Grid studio 的強(qiáng)大功能帝洪,它會(huì)以更高的保真度通過(guò) Plotly.js 可視化正態(tài)分布似舵,我們可以看看交互式制圖到底是如何完成的。
使用安裝
前面介紹了這么多特性葱峡,那么我們到底該怎么用呢砚哗?Grid studio 的安裝和使用都非常簡(jiǎn)單,通過(guò)簡(jiǎn)單的命令行就能搞定砰奕。
git clone https://github.com/ricklamers/gridstudio
cd gridstudio && ./run.sh
如上通過(guò)下載項(xiàng)目蛛芥、運(yùn)行安裝腳本兩步,我們就能在瀏覽器中打開本地端口军援,然后就能愉快地使用了仅淑。
參考鏈接:
https://hackernoon.com/introducing-grid-studio-a-spreadsheet-app-with-python-to-make-data-science-easier-tdup38f7
https://github.com/ricklamers/gridstudio
https://gridstudio.io
注:我這有個(gè)學(xué)習(xí)Python基地,里面有很多學(xué)習(xí)資料胸哥,感興趣的+Q群:609147996