歡迎光臨
每天分享高質量文章

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

(點擊上方快速關註並設置為星標,一起學Python)

來自:機器之心         參與:思源、張倩

很多開發者說自從有了 Python/Pandas,Excel 都不怎麼用了,用它來處理與可視化表格非常快速。但是這樣還是有一大缺陷,操作不是可視化的表格,因此對技能要求更高一點。近日,開發者構建了名為 Grid studio 的開源專案,它是一個基於網頁的表格應用,完全結合了 Python 和 Excel 的優勢。

是的,在一個界面上同時展示可視化表格與代碼,而且同時通過表格與代碼修改資料,這不就是 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

已同步到看一看
赞(0)

分享創造快樂