抽風預(yù)測五年后的 Web 發(fā)展,卻被現(xiàn)實啪啪打臉
發(fā)布時間:2023-08-30 14:04:25
Python in Excel 有何獨特之處?
Python in Excel 即將通過 Excel for Windows 的 Beta Channel,向 Microsoft 365 Insiders 項目的會員們發(fā)布公共預(yù)覽版。不過微軟也表示在預(yù)覽結(jié)束后,“如果沒有付費許可證,某些功能將受到限制”。
首先,Python in Excel 專為分析師而構(gòu)建。微軟表示,每一天,全球各地都有數(shù)百萬用戶依靠熟悉的 Excel 工具(例如公式、圖表和數(shù)據(jù)透視表)分析并理解自己的數(shù)據(jù)。Python in Excel 將以原生方式被直接整合至 Excel 網(wǎng)格當中。
用戶只需使用新的 PY 函數(shù)即可將 Python 代碼直接輸入至 Excel 單元格中。Excel 用戶可通過 Python 訪問強大的分析功能,從而實現(xiàn)可視化、數(shù)據(jù)清洗、機器學習和預(yù)測分析等目標。用戶現(xiàn)在可以創(chuàng)建起無縫對接的 Excel 加 Python 端到端解決方案,且全程無需脫離于 Excel 之外。使用 Excel 的內(nèi)置連接器加 Power Query,用戶還能輕松將外部數(shù)據(jù)引入 Python in Excel 的工作流程。Python in Excel 還跟用戶所熟悉并喜愛的各種工具相兼容,例如公式、數(shù)據(jù)透視表和 Excel 圖表等。下面來看 Python in Excel 所能實現(xiàn)的幾種分析示例:
高級可視化
充分利用 Matplotlib 和 seaborn 等著名 Python 圖表庫的功能構(gòu)建各類圖表,包括傳統(tǒng)的條形圖、線形圖,乃至熱力圖、小提琴圖和群圖等專用可視化效果。
使用 Seaborn 生成的各種圖
機器學習、預(yù)測分析和預(yù)期計算
利用 scikit-learn 與 statsmodels 等 Python 庫,可以實現(xiàn)目前人氣極高的機器學習、預(yù)測分析與預(yù)期計算,包括回歸分析、時間序列建模等等。
使用 Python 和 Excel LAMBDA 構(gòu)建的天氣預(yù)測機器學習模型
可有效利用先進的數(shù)據(jù)清洗技術(shù),例如查找缺失值、標準化格式、刪除重復(fù)項,并可采用正則表達式等技術(shù)進行基于模式的轉(zhuǎn)換。
使用正則表達式提取日期
Excel 團隊曾嘗試過,但失敗了
該消息發(fā)布后,自稱曾在 Excel 工作過的開發(fā)者“vba”爆料,Excel 早就試著將 Python 引入 Excel,但最終失敗了。
作為一個曾試圖將 Python 引入 Excel 的前 Excel 開發(fā)人員,今天看到這個消息真的很驚喜。7 年多前,我選擇離開 Excel 團隊。當時老板的老板知道我對將 Python 引入 Excel 很感興趣,如果我選擇留下的話,就給我一個機會來解決這個問題。后來,原本 6 個月的項目變成了大約 3 年的項目,Python 的部分消失了,我們最終在 Excel 中啟用了 JavaScript 自定義函數(shù)。
對于 Python,我們當時也是設(shè)計為在“云端”(AzureML v1)運行,盡管就是否應(yīng)該在本地運行上前前后后做了很多討論。我認為讓 Python 部分消失的是我們的合作伙伴 AzureML 團隊的重新重組、重新發(fā)布和重新雇傭,我們失去了一個 PM。與此同時,我們的工作引起了另一個合作伙伴團隊的注意,他們意識到他們可以使用我們的代碼來執(zhí)行進程外的 JavaScript。所以我花了很多時間來確保功能成功發(fā)布,我想這對 Python 是不利的。
我得到了一些優(yōu)秀工程師的幫助,也學到了很多東西。這項工作的核心是修改 Excel 的計算引擎,使其允許函數(shù)異步計算,允許用戶在遠程終端(JavaScript、Python 或其他工具)計算的同時繼續(xù)處理電子表格的其他部分。以前,電子表格會在計算運行時被鎖住,這對于長時間運行的無限計算來說不太友好。不知道我們當時構(gòu)建的任何功能是否都被納入了這項新功能。
現(xiàn)在,非常高興看到這個功能,并期待去嘗試。
網(wǎng)友:我想讓它還支持本地運行
對于這項新功能,McKinney 公司數(shù)據(jù)與分析執(zhí)行總監(jiān) Greg Barnes 稱,“對 Python 的全面支持,是我在整個職業(yè)生涯中經(jīng)歷過的最令人興奮的 Excel 更新!”他表示,在 Excel 中運行 Python 的功能,讓 McKinney 成功簡化了原有報告工作流程。“我們曾經(jīng)在 Jupyter Notebook 中操作數(shù)據(jù)結(jié)構(gòu)、過濾和聚合數(shù)據(jù),并在 Excel 中構(gòu)建視覺效果。但現(xiàn)在,我們可以在 Excel 中管理整個工作流,這使得 Excel 變得更加強大,也讓 Python 在整個組織中更易于使用?!?/span>
而網(wǎng)友們也表示開心,但同時也有更多期待?!拔蚁M粌H僅由 Microsoft Cloud 提供支持,并且可以支持本地運行的 Python,但無論如何,我仍認為這會是巨大的項目,并且會在很大程度上使 Excel 現(xiàn)代化,僅此一點就可以消除只需要這種數(shù)據(jù)的網(wǎng)站的需求。我想到我以前做的一個項目,就是建立一個分析網(wǎng)站,內(nèi)部只有少數(shù)幾個人使用,如果當時有這樣的東西,就能很好地滿足他們的需求?!遍_發(fā)者“cableshaft”表示。
對此,網(wǎng)友“rawgabbit”稱,“公平地說,Tableau Desktop、Tableau Prep 和 Tableau Cloud 雖然價格昂貴,但仍然是很棒的產(chǎn)品。借助 Tableau Prep,您可以獲得可視化 ETL 工具。從技術(shù)角度來說,我更喜歡 SQL,但對于業(yè)務(wù)人員來說,Tableau Prep 更像是一個 REPL,因此他們可以看到自己的操作將要做什么。他們可以在 Tableau Cloud 中安排這些 Prep 流程,該流程將進行 ETL 并生成每日數(shù)據(jù)集,然后用戶可以通過 Tableau Cloud 上的儀表板進行交互。在我看來,Excel 走在正確的道路上,它具有與 Salesforce、Azure 數(shù)據(jù)庫等開箱即用的連接器。它真正需要的是帶有 REPL 輸出的完整 SQL,以便用戶可以看到其 SQL 的效果。(Tableau Prep 的做法是默認對行進行采樣以輸出即時結(jié)果)。”
有開發(fā)者指出,云以及盡可能多的云集成是微軟的核心戰(zhàn)略。這是關(guān)于定期付款、鎖定以及最終在他們自己計算機上真正擁有世界經(jīng)濟的知識和業(yè)務(wù)流程。這可能說明了為什么目前只支持云上運行。
還有網(wǎng)友指出,“Python 進入 Excel,成為壓死 VBA 的最后一根稻草?!盫BA 一直是 Excel 腳本編程的主要工具。VBA 簡單易學、功能強大,在長達幾十年的時間里為提高 Excel 工作效率作出了貢獻。但隨著 Python 的流行,越來越多的人用 Python 進行 Excel 腳本編程來提高工作效率,VBA 逐漸式微。