今天我是開源的“網(wǎng)格演播室 ', 一個完全集成Python編程語言的基于web的電子表格應(yīng)用程序。 大約一年前,我開始修改構(gòu)建我一直想要的數(shù)據(jù)科學(xué)IDE的想法。在與MicrosoftExcel、R(Studio)和Python廣泛合作之后,我設(shè)想了一些集成版本將如何使我的生活更輕松 為什么? 我與Gridstudio一起著手解決的主要問題是,在處理數(shù)據(jù)科學(xué)項(xiàng)目時,我在多個工具(如R Studio和Excel)之間來回往返時所經(jīng)歷的零散工作流。 導(dǎo)出CSV文件時,目瞪口呆碰上凍結(jié)應(yīng)用程序窗口當(dāng)我的行數(shù)太高或者想做的時候簡單明了的事情,如在JSON文件中讀取我受夠了?,F(xiàn)有的工具沒有為我提供環(huán)境和相關(guān)的工作流,從而使我能夠高效地工作。 這就是為什么我決定構(gòu)建一些東西,將我的工作流程集成到一個單一的、現(xiàn)代的、易于使用的、適合我的數(shù)據(jù)科學(xué)需求的應(yīng)用程序中。 它怎麼工作? Gridstudio是一個基于web的應(yīng)用程序,看起來非常類似于普通的電子表格程序,如GoogleSheet或MicrosoftExcel。然而,它的致命特性是Python語言的深度集成。 在表格結(jié)構(gòu)中查看數(shù)據(jù)并直接操作它,對于幾乎所有使用過計(jì)算機(jī)的人來說都是很自然的。 將這個簡單的UI與成熟的編程語言(如Python)的功能結(jié)合起來,確實(shí)使它脫穎而出。 使用Python編寫腳本是盡可能簡單的:只需編寫幾行代碼并直接執(zhí)行即可。 核心集成:對紙張的讀寫 Python集成的核心是電子表格的讀寫接口。Python過程中工作表的數(shù)據(jù)和數(shù)據(jù)之間的高性能連接。 只需寫在紙上,如下所示: sheet('A1:A3', [1, 2, 3]) 從紙上讀到: my_matrix = sheet('A1:A3') 有了這個簡單而強(qiáng)大的功能,您就可以直接讀寫表單,從而實(shí)現(xiàn)數(shù)據(jù)輸入、提取、可視化等自動化。 編寫自定義電子表格函數(shù) 雖然讀寫通過簡單的界面提供了很大的靈活性,但有時編寫可以直接在電子表格中調(diào)用的自定義函數(shù)很有意義。 常見的電子表格功能,如平均值、和、if等,在默認(rèn)情況下已經(jīng)可用。但如果你需要更多呢? 只需編寫所需的函數(shù)即可! def UPPERCASE(a): return str(a).uppercase() 現(xiàn)在,在電子表格中調(diào)用此函數(shù),就像調(diào)用常規(guī)函數(shù)一樣。 利用Python生態(tài)系統(tǒng) 通過利用Python生態(tài)系統(tǒng)的強(qiáng)大功能,您可以立即訪問最先進(jìn)的數(shù)據(jù)科學(xué)工具: 這樣就可以簡單地訪問功能強(qiáng)大的模型,例如線性回歸和支持向量機(jī)為你的數(shù)據(jù)建模。 碼頭運(yùn)行時 該應(yīng)用程序運(yùn)行在一個Docker容器中,它使您可以輕松地訪問一個完全打包和隔離的UNIX環(huán)境(甚至在Windows上!)一切準(zhǔn)備就緒:Python,Scikit-Learning,Numpa,熊貓,終端,wget,zip等等。 這使得安裝Gridstudio就像下載預(yù)構(gòu)建的碼頭映像和運(yùn)行一個命令一樣簡單。 數(shù)據(jù)可視化 數(shù)據(jù)科學(xué)中的一個常見任務(wù)是可視化您的數(shù)據(jù)。鑒于其重要性,Gridstudio通過集成交互式繪圖庫Plotly.js和Python的標(biāo)準(zhǔn)Matplotlib,構(gòu)建了對高級繪圖的支持。這為您提供了矢量銳利格式的高級繪圖功能。 為了給您提供一些關(guān)于如何使用Gridstudio功能的想法,我們將展示如何將它們與一些具體的示例結(jié)合起來。 例句:刮網(wǎng) 這個例子向您展示了將Python放在指尖的強(qiáng)大功能。通常需要在工具和文件之間來回切換的東西現(xiàn)在可以集成到單個腳本中。 上面,您可以看到一個簡短的腳本如何輕松地將來自Hacker News的新聞文章直接加載到表單中。 資料來源:刮皮 示例:估計(jì)正態(tài)分布 這個例子展示了一個用Plotly.js可視化的更高保真度估計(jì)正態(tài)分布的有點(diǎn)傻的用例。在這里,你可以看到交互式的繪圖是如何讓你對正在發(fā)生的事情有一種感覺的。 資料來源:估計(jì)正常值 我該怎么用呢? 在本地安裝Grid studio非常簡單: (Make sure you have Docker installed) 吉特巴什對于Windows-碼頭安裝 注意:如果遇到問題,請隨意打開發(fā)行在GitHub上,我將盡可能快地幫助/修復(fù)。 注意:在Linux上,您可能需要運(yùn)行(對于步驟2): cd gridstudio && sudo ./run.sh 因?yàn)镈ocker需要sudo訪問才能運(yùn)行。 發(fā)行+未來發(fā)展 如前所述,今天的Grid studio將通過GitHub儲存庫 . 如果您在這里,您非常歡迎您自己嘗試,并提交任何反饋和/或貢獻(xiàn)的項(xiàng)目上的GitHub。 對于將來可以添加哪些功能或特性來改進(jìn)Gridstudio,我有一些想法。但是,由于該項(xiàng)目現(xiàn)在是開源的,我認(rèn)為在GitHub上跟蹤這些項(xiàng)目并根據(jù)所有相關(guān)人員查看哪些項(xiàng)目具有最高優(yōu)先級是明智的。 -擴(kuò)展電子表格中可用的“本機(jī)”函數(shù)的數(shù)量(如平均值、和、如果等),甚至可能與一些現(xiàn)有的包(如Libre Office的Calc或Excel)達(dá)到奇偶校驗(yàn)(和一致性) -在電子表格中鍵入公式時,語法突出顯示/函數(shù)工具提示 -電子表格中的高級排序和篩選 -與Plotly.js交互繪圖的擴(kuò)展控件 -更容易共享工作區(qū)/代碼(即導(dǎo)出工作區(qū)) -實(shí)時協(xié)作的形式(這可能太困難了) -一些用于外接程序/擴(kuò)展的API/接口 -將公式解析器升級為真正的基于語法的解析器 -Python自動完成 -性能優(yōu)化 -核心Python/工作表集成健壯性(沒有字符/序列損壞) 開源動機(jī) 雖然這個項(xiàng)目最初是為商業(yè)發(fā)布而設(shè)計(jì)的,但我認(rèn)為,作為一個開放源碼項(xiàng)目,每個人都可以嘗試使用它,并有可能由一個有興趣的小型社區(qū)進(jìn)行開發(fā)。 原因在于,在項(xiàng)目的最初開發(fā)過程中,我發(fā)現(xiàn)了許多項(xiàng)目,這些項(xiàng)目提供了與Gridstudio類似的功能。 首先,有一個直接將Python集成到microsoft excel中的開源插件木翅..盡管它并沒有真正地將電子表格和Python集成到一個連貫的產(chǎn)品中,但它確實(shí)提供了讓用戶訪問他們已經(jīng)熟悉的“真實(shí)”滿載Excel環(huán)境的優(yōu)勢。 第二,Python是從IPython到木星筆記本到木星實(shí)驗(yàn)室..它非常受歡迎,因此,它為數(shù)據(jù)科學(xué)家提供了一個非常好的工作環(huán)境,特別強(qiáng)調(diào)通過長形式筆記本編寫可解釋的代碼。雖然,它缺乏任何一種電子表格功能,在我看來,是如此吸引新手?jǐn)?shù)據(jù)科學(xué)家,因?yàn)樗姆菍?dǎo)向性行為。 總的來說,這樣的項(xiàng)目意味著網(wǎng)格工作室的商業(yè)化將意味著與這些產(chǎn)品替代品競爭,這些產(chǎn)品可以極其低廉的免費(fèi)價格獲得。 無論如何,我真誠地相信Gridstudio確實(shí)有一些獨(dú)特的東西可以提供現(xiàn)有的替代方案,并且可以成為相當(dāng)多的用例的選擇工具。 通過GitHub儲存庫 . |
|