向Excel說再見,神級編輯器統一表格與Python

 2019-08-06 19:01:03.0

是的,在一個界面上同時展示可視化表格與代碼,而且同時通過表格與代碼修改數據,這不就是 Python 與 Excel 的結合嗎?
項目地址:https://github.com/ricklamers/gridstudio
我們先看看 Grid studio 的效果到底是什麼樣的。總體而言,我們既可以通過 Python 加載和處理數據,也能通過「Excel」操作數據。

在 Python 上處理數據比較好理解,表格上處理數據其實非常像 Excel,如下所示爲寫一個求和公式。

也許我們在表格上改了些數據,那麼我們也能導入到 NumPy 數組,並做進一步的運算。

爲什麼要創建這個工具?
作者表示,他創建 Grid studio 主要是用來解決數據科學項目中工作流分散的問題,在這種項目中,他要在 R studio、Excel 等多個工具之間換來換去。
在爲 gazillionth-time 導出 CSV 文件時,如果行數過高,應用程序窗口就會卡頓。即使是做一些簡單的事情,比如讀取 JSON 文件,也能把人逼瘋。現有的工具無法提供高效工作所需的環境和相關工作流,這也是作者決定構建該工具的原因。他想要創建一個易用的應用程序,可以把數據科學工作流整合進去。
這個工具有何亮點?
Grid studio 是一個基於網頁的應用,看起來和 Google Sheets、Microsoft Excel 差不多。然而,它的殺手鐗是整合了 Python 語言。
幾乎所有使用過計算機的人都會很自然地使用表格來查看和編輯數據。將這個簡單的 UI 與 Python 這種成熟的編程語言結合起來簡直不要太好用。
用 Python 編寫腳本非常簡單:只需編寫幾行代碼直接運行即可。

核心集成: 讀、寫
這一 Python 集成的核心是對電子表格的讀寫接口,它可以在電子表格的數據和 Python 進程中的數據之間建立一個高性能的連接。
可以用以下方式在表格中寫入數據:
sheet("A1:A3", [1, 2, 3])
用以下這種方式從表格中讀取數據:
my_matrix = sheet("A1:A3")
你可以通過這種簡單而高效的方式直接在表格中讀取或寫入數據,以自動化數據輸入、提取、可視化等過程。
編寫定製化表格函數
雖然通過一個簡單的接口完成讀寫非常靈活,但有時編寫可以直接調出的定製化函數也很重要。
除了 AVERAGE、SUM、IF 這些默認函數外,你可能還需要其他函數,那麼寫出來就好了!
def UPPERCASE(a):    return str(a).uppercase()
寫完這行代碼後,在表格中調出該函數,就像調用常規函數一樣。
利用 Python 生態
通過利用 Python 生態中各種強大的軟件包,我們能立即訪問到當前最優的數據科學工具,因此也能快速訪問到強大的模型,例如線性迴歸和 支持向量機等。

因爲本身 Grid studio 主要就是處理表格數據,那麼將它們作爲特徵可以快速調用 SVM 等模型,從而探索隱藏在這些數據背後的特徵。
數據可視化
在數據科學中,很常見的一個任務就是可視化數據,這樣才能獲得關於數據的「先驗知識」。通過集成交互式繪圖庫 Plotly.js 和 Python 標準可視化庫 Matplotlib,Grid studio 目前已經內置了高級繪圖功能。如下所示我們可以在向量表格格式上使用高級繪圖功能:

爲了進一步解釋如何使用 Grid studio 的特徵以構建可視化圖標,項目作者還展示了兩個案例,即爬取網頁與可視化數據分佈,但這裏主要展示第一個案例。
案例:估計正態分佈
如下案例展示了 Grid studio 的強大功能,它會以更高的保真度通過 Plotly.js 可視化正態分佈,我們可以看看交互式製圖到底是如何完成的。


使用安裝
前面介紹了這麼多特性,那麼我們到底該怎麼用呢?Grid studio 的安裝和使用都非常簡單,通過簡單的命令行就能搞定。
  • git clone https://github.com/ricklamers/gridstudio

  • cd gridstudio && ./run.sh

如上通過下載項目、運行安裝腳本兩步,我們就能在瀏覽器中打開本地端口,然後就能愉快地使用了。

參考鏈接:
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

文章來源:機器之心