很多開發(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 的效果到底是什么樣的≈芏#總體而言辩撑,我們既可以通過 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ì)卡頓。即使是做一些簡(jiǎn)單的事情贝润,比如讀取 JSON 文件绊茧,也能把人逼瘋。現(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è)簡(jiǎn)單的 UI 與 Python 這種成熟的編程語言結(jié)合起來簡(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")
你可以通過這種簡(jiǎn)單而高效的方式直接在表格中讀取或?qū)懭霐?shù)據(jù)腰鬼,以自動(dòng)化數(shù)據(jù)輸入搓劫、提取短荐、可視化等過程。
編寫定制化表格函數(shù)
雖然通過一個(gè)簡(jiǎn)單的接口完成讀寫非常靈活细睡,但有時(shí)編寫可以直接調(diào)出的定制化函數(shù)也很重要谷羞。
除了 AVERAGE、SUM纹冤、IF 這些默認(rèn)函數(shù)外洒宝,你可能還需要其他函數(shù),那么寫出來就好了萌京!
def UPPERCASE(a):
return str(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ù)背后的特征父能。
另外想要成為一個(gè)優(yōu)秀的、有能力程序員净神,做軟件開發(fā)的話何吝,就來學(xué)習(xí)python吧,而且學(xué)習(xí)編程的話有一個(gè)學(xué)習(xí)的氛圍跟交流圈子特別重要鹃唯!這里我推薦一個(gè)python交流扣裙爱榕,--先6115;后30101坡慌,不管你是大牛還是小白黔酥,大家都一起成長進(jìn)步。
數(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 的安裝和使用都非常簡(jiǎn)單,通過簡(jiǎn)單的命令行就能搞定勉耀。
git clone https://github.com/ricklamers/gridstudio
cd gridstudio && ./run.sh
如上通過下載項(xiàng)目指煎、運(yùn)行安裝腳本兩步,我們就能在瀏覽器中打開本地端口便斥,然后就能愉快地使用了至壤。