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

向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

已同步到看一看
贊(3)

分享創造快樂