抽风预测五年后的 Web 发展,却被现实啪啪打脸
发布时间:2023-08-30 14:04:25
Python in Excel 有何独特之处?
Python in Excel 即将通过 Excel for Windows 的 Beta Channel,向 Microsoft 365 Insiders 项目的会员们发布公共预览版。不过微软也表示在预览结束后,“如果没有付费许可证,某些功能将受到限制”。
首先,Python in Excel 专为分析师而构建。微软表示,每一天,全球各地都有数百万用户依靠熟悉的 Excel 工具(例如公式、图表和数据透视表)分析并理解自己的数据。Python in Excel 将以原生方式被直接整合至 Excel 网格当中。
用户只需使用新的 PY 函数即可将 Python 代码直接输入至 Excel 单元格中。Excel 用户可通过 Python 访问强大的分析功能,从而实现可视化、数据清洗、机器学习和预测分析等目标。用户现在可以创建起无缝对接的 Excel 加 Python 端到端解决方案,且全程无需脱离于 Excel 之外。使用 Excel 的内置连接器加 Power Query,用户还能轻松将外部数据引入 Python in Excel 的工作流程。Python in Excel 还跟用户所熟悉并喜爱的各种工具相兼容,例如公式、数据透视表和 Excel 图表等。下面来看 Python in Excel 所能实现的几种分析示例:
高级可视化
充分利用 Matplotlib 和 seaborn 等著名 Python 图表库的功能构建各类图表,包括传统的条形图、线形图,乃至热力图、小提琴图和群图等专用可视化效果。
使用 Seaborn 生成的各种图
机器学习、预测分析和预期计算
利用 scikit-learn 与 statsmodels 等 Python 库,可以实现目前人气极高的机器学习、预测分析与预期计算,包括回归分析、时间序列建模等等。
使用 Python 和 Excel LAMBDA 构建的天气预测机器学习模型
可有效利用先进的数据清洗技术,例如查找缺失值、标准化格式、删除重复项,并可采用正则表达式等技术进行基于模式的转换。
使用正则表达式提取日期
Excel 团队曾尝试过,但失败了
该消息发布后,自称曾在 Excel 工作过的开发者“vba”爆料,Excel 早就试着将 Python 引入 Excel,但最终失败了。
作为一个曾试图将 Python 引入 Excel 的前 Excel 开发人员,今天看到这个消息真的很惊喜。7 年多前,我选择离开 Excel 团队。当时老板的老板知道我对将 Python 引入 Excel 很感兴趣,如果我选择留下的话,就给我一个机会来解决这个问题。后来,原本 6 个月的项目变成了大约 3 年的项目,Python 的部分消失了,我们最终在 Excel 中启用了 JavaScript 自定义函数。
对于 Python,我们当时也是设计为在“云端”(AzureML v1)运行,尽管就是否应该在本地运行上前前后后做了很多讨论。我认为让 Python 部分消失的是我们的合作伙伴 AzureML 团队的重新重组、重新发布和重新雇佣,我们失去了一个 PM。与此同时,我们的工作引起了另一个合作伙伴团队的注意,他们意识到他们可以使用我们的代码来执行进程外的 JavaScript。所以我花了很多时间来确保功能成功发布,我想这对 Python 是不利的。
我得到了一些优秀工程师的帮助,也学到了很多东西。这项工作的核心是修改 Excel 的计算引擎,使其允许函数异步计算,允许用户在远程终端(JavaScript、Python 或其他工具)计算的同时继续处理电子表格的其他部分。以前,电子表格会在计算运行时被锁住,这对于长时间运行的无限计算来说不太友好。不知道我们当时构建的任何功能是否都被纳入了这项新功能。
现在,非常高兴看到这个功能,并期待去尝试。
网友:我想让它还支持本地运行
对于这项新功能,McKinney 公司数据与分析执行总监 Greg Barnes 称,“对 Python 的全面支持,是我在整个职业生涯中经历过的最令人兴奋的 Excel 更新!”他表示,在 Excel 中运行 Python 的功能,让 McKinney 成功简化了原有报告工作流程。“我们曾经在 Jupyter Notebook 中操作数据结构、过滤和聚合数据,并在 Excel 中构建视觉效果。但现在,我们可以在 Excel 中管理整个工作流,这使得 Excel 变得更加强大,也让 Python 在整个组织中更易于使用。”
而网友们也表示开心,但同时也有更多期待。“我希望它不仅仅由 Microsoft Cloud 提供支持,并且可以支持本地运行的 Python,但无论如何,我仍认为这会是巨大的项目,并且会在很大程度上使 Excel 现代化,仅此一点就可以消除只需要这种数据的网站的需求。我想到我以前做的一个项目,就是建立一个分析网站,内部只有少数几个人使用,如果当时有这样的东西,就能很好地满足他们的需求。”开发者“cableshaft”表示。
对此,网友“rawgabbit”称,“公平地说,Tableau Desktop、Tableau Prep 和 Tableau Cloud 虽然价格昂贵,但仍然是很棒的产品。借助 Tableau Prep,您可以获得可视化 ETL 工具。从技术角度来说,我更喜欢 SQL,但对于业务人员来说,Tableau Prep 更像是一个 REPL,因此他们可以看到自己的操作将要做什么。他们可以在 Tableau Cloud 中安排这些 Prep 流程,该流程将进行 ETL 并生成每日数据集,然后用户可以通过 Tableau Cloud 上的仪表板进行交互。在我看来,Excel 走在正确的道路上,它具有与 Salesforce、Azure 数据库等开箱即用的连接器。它真正需要的是带有 REPL 输出的完整 SQL,以便用户可以看到其 SQL 的效果。(Tableau Prep 的做法是默认对行进行采样以输出即时结果)。”
有开发者指出,云以及尽可能多的云集成是微软的核心战略。这是关于定期付款、锁定以及最终在他们自己计算机上真正拥有世界经济的知识和业务流程。这可能说明了为什么目前只支持云上运行。
还有网友指出,“Python 进入 Excel,成为压死 VBA 的最后一根稻草。”VBA 一直是 Excel 脚本编程的主要工具。VBA 简单易学、功能强大,在长达几十年的时间里为提高 Excel 工作效率作出了贡献。但随着 Python 的流行,越来越多的人用 Python 进行 Excel 脚本编程来提高工作效率,VBA 逐渐式微。