很多開發(fā)者說自從有了 Python/Pandas,Excel 都不怎么用了,用它來處理與可視化表格非??焖?。但是這樣還是有一大缺陷,操作不是可視化的表格,因此對(duì)技能要求更高一點(diǎn)。近日,開發(fā)者構(gòu)建了名為 Grid studio 的開源項(xiàng)目,它是一個(gè)基于網(wǎng)頁的表格應(yīng)用,完全結(jié)合了 Python 和 Excel 的優(yōu)勢(shì)。
是的,在一個(gè)界面上同時(shí)展示可視化表格與代碼,而且同時(shí)通過表格與代碼修改數(shù)據(jù),這不就是 Python 與 Excel 的結(jié)合嗎?
項(xiàng)目地址:https://github.com/ricklamers/gridstudio
我們先看看 Grid studio 的效果到底是什么樣的??傮w而言,我們既可以通過 Python 加載和處理數(shù)據(jù),也能通過「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 主要是用來解決數(shù)據(jù)科學(xué)項(xiàng)目中工作流分散的問題,在這種項(xiàng)目中,他要在 R studio、Excel 等多個(gè)工具之間換來換去。
在為 gazillionth-time 導(dǎo)出 CSV 文件時(shí),如果行數(shù)過高,應(yīng)用程序窗口就會(huì)卡頓。即使是做一些簡單的事情,比如讀取 JSON 文件,也能把人逼瘋?,F(xiàn)有的工具無法提供高效工作所需的環(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īng)用,看起來和 Google Sheets、Microsoft Excel 差不多。然而,它的殺手锏是整合了 Python 語言。
幾乎所有使用過計(jì)算機(jī)的人都會(huì)很自然地使用表格來查看和編輯數(shù)據(jù)。將這個(gè)簡單的 UI 與 Python 這種成熟的編程語言結(jié)合起來簡直不要太好用。
用 Python 編寫腳本非常簡單:只需編寫幾行代碼直接運(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")
你可以通過這種簡單而高效的方式直接在表格中讀取或?qū)懭霐?shù)據(jù),以自動(dòng)化數(shù)據(jù)輸入、提取、可視化等過程。
編寫定制化表格函數(shù)
雖然通過一個(gè)簡單的接口完成讀寫非常靈活,但有時(shí)編寫可以直接調(diào)出的定制化函數(shù)也很重要。
除了 AVERAGE、SUM、IF 這些默認(rèn)函數(shù)外,你可能還需要其他函數(shù),那么寫出來就好了!
defUPPERCASE(a): returnstr(a).uppercase() 寫完這行代碼后,在表格中調(diào)出該函數(shù),就像調(diào)用常規(guī)函數(shù)一樣。
利用 Python 生態(tài)
通過利用 Python 生態(tài)中各種強(qiáng)大的軟件包,我們能立即訪問到當(dāng)前最優(yōu)的數(shù)據(jù)科學(xué)工具,因此也能快速訪問到強(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í)」。通過集成交互式繪圖庫 Plotly.js 和 Python 標(biāo)準(zhǔn)可視化庫 Matplotlib,Grid studio 目前已經(jīng)內(nèi)置了高級(jí)繪圖功能。如下所示我們可以在向量表格格式上使用高級(jí)繪圖功能:
為了進(jìn)一步解釋如何使用 Grid studio 的特征以構(gòu)建可視化圖標(biāo),項(xiàng)目作者還展示了兩個(gè)案例,即爬取網(wǎng)頁與可視化數(shù)據(jù)分布,但這里主要展示第一個(gè)案例。
案例:估計(jì)正態(tài)分布
如下案例展示了 Grid studio 的強(qiáng)大功能,它會(huì)以更高的保真度通過 Plotly.js 可視化正態(tài)分布,我們可以看看交互式制圖到底是如何完成的。
使用安裝
前面介紹了這么多特性,那么我們到底該怎么用呢?Grid studio 的安裝和使用都非常簡單,通過簡單的命令行就能搞定。
git clone https://github.com/ricklamers/gridstudio
cd gridstudio && ./run.sh
編輯:jq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6808瀏覽量
88743 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4277瀏覽量
62323 -
SVM
+關(guān)注
關(guān)注
0文章
154瀏覽量
32376
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論