七年没能将 Python 集成到 Excel,Python 之父加入微软三年后成了!

2023-11-27 17:10

本文主要是介绍七年没能将 Python 集成到 Excel,Python 之父加入微软三年后成了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

省时查报告-专业、及时、全面的行研报告库

省时查方案-专业、及时、全面的营销策划方案库

【免费下载】2023年7月份全网热门报告合集

ChatGPT提词示例,让你的ChatGPT聪明100倍!

超百页干货资料:AI应用的难点、痛点与未来!

2023年AIGC行业调研报告.pdf(附下载链接)

ChatGPT提词手册,学完工作效率提升百倍

万字干货:ChatGPT的工作原理

2023年创业(有创业想法)必读手册

ChatGPT调研报告(仅供内部参考)

2023年AIGC发展趋势报告:人工智能的下一时代

《底层逻辑》高清配图

近日,微软宣布将流行的编程语言 Python 引入到了 Excel。该功能的公共预览版现已推出,允许 Excel 用户操作和分析来自 Python 的数据。

微软表示,Python in Excel 能够在同一工作簿中将 Python 与 Excel 分析原生组合起来,无需任何额外设置。使用 Python in Excel,用户可以直接在单元格内键入 Python,相关计算将在微软云端运行,并将绘图和可视化等结果返回至工作表内。

“听起来像愚人节玩笑,但这是真的!”“太棒了!它肯定可以加快我的工作速度。”网友们听到这个消息后纷纷发出了感叹。为什么大家都对此感到兴奋呢?我们先看下 Python 的强大功能和 Excel 的灵活性结合后,都发生了哪些“化学反应”?

ChatGPT国内可以直接访问的链接,无需注册,支持编程等多个垂直模型,点开即用:

https://ai.zntjxt.com(复制链接电脑浏览器或微信中点开即可)

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 图表库的功能构建各类图表,包括传统的条形图、线形图,乃至热力图、小提琴图和群图等专用可视化效果。

107d2ae264107f12e30a9f7cf51ad047.png

使用 Seaborn 生成的各种图

 机器学习、预测分析和预期计算

利用 scikit-learn 与 statsmodels 等 Python 库,可以实现目前人气极高的机器学习、预测分析与预期计算,包括回归分析、时间序列建模等等。

075866c6df3a36b32716d9ef1b970b30.png

使用 Python 和 Excel LAMBDA 构建的天气预测机器学习模型

数据清洗

可有效利用先进的数据清洗技术,例如查找缺失值、标准化格式、删除重复项,并可采用正则表达式等技术进行基于模式的转换。

afe31dbcbdd2da30e041f73144f0a4c5.png

使用正则表达式提取日期

其次,Python in Excel 通过 Anaconda 实现顶级 Python 分析功能。

Anaconda 是全球数千万数据从业者日常使用的领先 Python 项目。Python in Excel 可使用运行在 Azure 当中的 Anaconda Distribution for Python,其中包含最流行的各 Python 库(例如 pandas、Matplotlib、scikit-learn 等),并由 Anaconda 安全完成构建、测试和支持。Anaconda 提供的 Python 功能,支持在 Python in Excel 中执行广泛的分析操作。

再者,Python in Excel 运行于微软云端,无需任何额外设置。

Excel 使用的 Python 代码运行在微软云端,并提供 Microsoft 365 兼容的连接体验。Python 代码使用 Azure 容器实例在自己的虚拟机管理程序内隔离运行,并通过安全的软件供应链从 Anaconda 处获取源构建包。微软表示,Python in Excel 可以防止运行的 Python 代码知晓用户身份,通过互联网打开的工作簿也在独立的容器内受进一步隔离,这就妥善保护了用户的数据隐私。工作簿中的数据只能通过内置 xl() Python 函数发送,且 Python 代码的输出只能作为 =PY() Excel 函数的结果返回。

另外,Python in Excel 专为团队协作而打造。

用户可以在 Excel 工作簿内共享 Python。各团队成员还可以在基于 Excel 的分析中无缝进行 Python 交互并刷新,不必分神安装其他工具、Python 运行时,或者管理库和依赖项。用户可以随意选择自己喜爱的协作工作(例如 Microsoft Teams 和 Microsoft Outlook)来共享工作簿,并通过评论、@提及还有与同事共同开发以进行无缝协作,整个体验过程与本地 Excel 无异。包含 Python 的工作簿还配合有敏感度标签,能够确保其符合组织内的信息保护策略。

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 或其他工具)计算的同时继续处理电子表格的其他部分。以前,电子表格会在计算运行时被锁住,这对于长时间运行的无限计算来说不太友好。不知道我们当时构建的任何功能是否都被纳入了这项新功能。

现在,非常高兴看到这个功能,并期待去尝试。

微软表示,Python in Excel 的诞生,源自微软内部多个团队之间的密切合作,包括微软 Excel、微软开发者部门、微软安全部门、微软 Azure 以及微软研究院等。其中,Python 创建者、BDFL 荣誉退休人员、现任 Microsoft 杰出工程师 Guido van Rossum 也参与了这项工作,并帮助定义了 Excel 中的 Python 架构。

“我很高兴 Python 和 Excel 的这种出色的、紧密的集成现在已经面世。我希望两个社区都能在这次合作中找到有趣的新用途,从而增强每个合作伙伴的能力。三年前我加入 Microsoft 时,我做梦也没想到这会成为可能。Excel 团队非常出色!”Rossum 表示。

Rossum 如今已经 67 岁。2020 年 11 月,耐不住无聊退休生活的 Rossum 决定加入微软的开发者部门。当时,微软组建了一个团队来提高 Python 解释器的速度,他一方面参与 Python 自身的优化工作,还帮助微软的其他团队集成面向公众或面向开发人员的 Python 微软产品。

当然,除了官方团队,还有个人开发者也尝试过将 python 引入 Excel。开发者“bubblebobble”表示自己几年前构建了一个可用的“Excel 中的 Python”,还远程执行 sql 和 matlab&r。“当我要求进行 beta 测试的一些人说‘他们的公司不会为此付费’、让我觉得我在浪费时间时,我放弃了......”有网友安慰他:“你只是超前于你的时代!”

网友:我想让它还支持本地运行

对于这项新功能,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 逐渐式微。

6a2e0d003af13227262e84ab01afe83a.png

「 更多干货,更多收获 」

 
 

346b16840c05579121e58ddf338a21e9.gif

 

【免费下载】2023年7月份全网热门报告合集

ChatGPT提词示例,让你的ChatGPT聪明100倍!

超百页干货资料:AI应用的难点、痛点与未来!

万字干货:ChatGPT的工作原理

2023年创业(有创业想法)必读手册

ChatGPT调研报告(仅供内部参考)

ChatGPT的发展历程、原理、技术架构及未来方向

2023年AIGC发展趋势报告:人工智能的下一时代

推荐系统在腾讯游戏中的应用实践.pdf

推荐技术在vivo互联网商业化业务中的实践.pdf

2023年,如何科学制定年度规划?

《底层逻辑》高清配图

推荐技术在vivo互联网商业化业务中的实践.pdf

推荐系统基本问题及系统优化路径.pdf

荣耀推荐算法架构演进实践.pdf

大规模推荐类深度学习系统的设计实践.pdf

某视频APP推荐策略详细拆解(万字长文)

关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

b4d1229dc02cc4f58c54135a54692ebd.jpeg

一个「在看」,一段时光👇

这篇关于七年没能将 Python 集成到 Excel,Python 之父加入微软三年后成了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428161

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点