Python在Excel中:打开高级数据分析之门

Python在Excel中:高级数据分析之门

介绍

微软宣布将Python编程语言整合到Excel中,这标志着该领域的重大进展。作为基础数据管理、分析和可视化工具,Microsoft Excel通过整合Python功能在其分析能力方面迈出了重要的一步。这种整合在数据分析、机器学习、预测分析和数据清理方面具有重要意义,在熟悉的Excel环境中无缝访问。这种创新将Python编程语言的高级功能和可识别的Excel界面相结合,有效地弥合了两者之间的差距。Microsoft已正式推出了Excel中Python的公共预览版。这种功能将Python脚本的强大功能与熟悉且多功能的Excel公式相结合,全部包含在一个工作簿中。

现在,Excel用户将能够使用Python中的数据来创建公式和图表。他们还可以集成诸如Matplotlib和Seaborn之类的图表库,设计诸如热图显示、小提琴图和蜂群图等可视化效果。此创新的独家早期访问权限将通过Excel for Windows的测试版本提供给Microsoft 365 Insiders。

本文是Data Science Blogathon的一部分。

使用=PY()简化

要开始在Excel中利用Python,选择一个单元格,访问功能区的公式选项卡,然后点击“插入Python”。这将提示Excel识别我们在指定单元格中创建Python公式的意图。或者使用函数=PY。我们可以使用公式栏进行类似编码的编辑行为。

利用公式栏编辑代码,就像编程一样。按Enter键创建新行。通过点击向下箭头图标展开公式栏,可以一次看到多行代码。

在Excel中,我们可以利用Python库的强大功能进行可视化、创建机器学习模型和进行高级分析。Python直接整合到Excel中是通过新的PY函数实现的,该函数允许我们直接在Excel单元格中输入Python代码。无需安装任何额外工具即可在Excel中使用Python。在Excel功能区的公式部分点击“插入Python”按钮后,我们可以开始编写Python代码。

内置的XL() Python函数

内置的xl() Python函数能够传输来自工作簿的数据,并且可以将=PY()的Python代码输出作为结果返回。默认情况下,Python单元格会将输出格式设置为Excel值,将由单元格代码生成的任何Python对象的值转换为类似Excel输出的格式。

Excel提供了内置的连接器,并利用Power Query,Microsoft的数据操作工具,来便捷地导入外部数据。

要从外部来源导入数据,请使用Excel的“获取和转换”功能。该功能使用Power Query来支持导入过程。请记住,我们在Excel中使用Python处理的任何数据都应该来自于工作表或通过Power Query。

微软与Anaconda合作,提供专业库和支持,确保数据分析师和科学家能够从高质量资源中受益。

计算顺序

在标准的Python代码中,计算从顶部到底部按顺序进行。同样,在Excel单元格中使用Python时,计算也按照相同的自上而下的顺序进行。然而,在Excel工作表中的Python单元格中,计算按行主序进行。

例如,假设我们在特定单元格(如B15)中有一个Python对象或公式,那么我们不能直接引用或在不同的单元格(如B16)中使用另一个Python对象或公式。这两个单元格中的Python对象/公式不能在Excel环境中相互交互。每个Python对象/公式在其指定的单元格中独立操作,无法直接访问或与其他单元格中的Python对象/公式进行通信。

Python指令按特定顺序排列。这意味着每个指令依赖于之前的指令,以使计算正确工作。

在Excel中进行数据操作

Python是一种多功能工具,可用于数据清理、操作、尝试机器学习模型和生成图表,所有这些都在Excel环境的安全边界内完成。当我们可以直接将Python代码输入到单元格中,在Microsoft Cloud中进行计算,并将生成的结果(包括图表和可视化效果)无缝地合并到工作表中时,这一切成为可能。

安全环境

Microsoft保证在Microsoft Cloud基础设施中安全执行Python在Excel中的工作,将企业级安全性整合到Microsoft 365体验中。这个保证确保代码在Microsoft Cloud环境中执行,而不是本地执行。它使用Azure Container Instances将其隔离在一个安全容器中,增强安全措施,防止未经授权的访问。

整合Python库以提升Excel功能

它便于整合广泛的Python包。在Excel中,我们可以访问像pandas用于数据操作的库,statsmodels用于高级统计建模,Matplotlib和Seaborn用于创建数据的图形表示。

与团队成员合作

用户可以放心地与团队成员共享基于Python的Excel工作簿。同事们可以轻松地在Excel中参与和更新基于Python的分析,无需担心安装额外的软件、Python运行时或处理库和依赖关系。

如何在Excel中使用Python?

如果您使用的是最新的内部版本的Excel,请按照以下步骤访问Excel中的Python。选择插入Python,然后选择自定义Python公式并将更改框更改为Python模式。

否则,我们可以直接在任何单元格中键入=py,激活Python模式。

第一步是选择Excel的数据集并将其发送到Python以创建数据帧。我们只需引用Excel的单元格即可完成此操作。当我们按下ctrl+enter时,将创建一个数据帧。

我们可以使用Python输出下拉菜单切换到Excel或Python视图。

如果我们需要查看数据集,点击数据卡,我们可以看到数据帧的开始和结束。

让我们以该数据集的销售列进行groupby的示例。

在这里,一切都按照日期分组。即使我们更改原始数据集中的任何值,结果也会立即反映这些更改。单元格中显示的内容是一个结果。

限制

  • 由于Python计算是在Microsoft的云平台上进行的,因此用户本地Python设置的个性化调整不会自动反映在与Excel集成的Python中。与许多协作工具一样,Excel中的Python需要互联网连接。
  • 建立与Power Pivot数据模型的连接是不可行的。
  • Power Query不支持正在进行的文件中存在的Excel表格。必须直接连接到表格。
  • 使用Python创建的动画图表目前不兼容或无法使用。
  • 目前仅适用于Microsoft 365 Insiders Beta Channel用户的Windows桌面版Excel,版本为2309 Build 16.0.16818.20000或更高版本。
  • 一旦公开可访问的初始测试阶段完成,使用Python在Excel中可能会有一些限制。这些限制可能包括受限的支持和可能与即将推出的Excel版本冲突。

这种组合有效地发挥了Python的强大功能和Excel的灵活性。在整合Python和Excel的尝试历史中,包括使用中间库和高级插件(如PyXLL)来增强Python在Excel中的功能,当前的整合是一项重大进展。Python在Excel生态系统中开辟了一个新时代的协同效应。这种整合提供了潜力,使用户能够进行数据分析、自动化和可视化,这些以前只能在Python或Excel中进行。

目前,此功能处于公共预览阶段。在预览期结束后,微软表示,某些功能将需要特定许可证才能使用,并且没有许可证将无法访问这些功能。有关此事的进一步信息将在普通可用性(GA)日期临近时提供。尽管确切的GA日期尚未披露,但微软计划通过集成额外功能(如语法高亮显示、自动完成和改进的错误反馈)来提升用户体验。

结论

将Python整合到Excel中代表了一种变革性的协同效应,使用户能够充分发挥这两种工具的潜力。这种动态组合简化了复杂的数据处理和分析,实现了自动化、定制化和数据驱动的决策。Python的多功能和Excel的用户友好界面共同创建了一个强大的组合,可以使各行各业的专业人士受益。无论您是数据分析师、金融专家还是业务战略师,采用Python在Excel中可以提高您的工作效率,将您的数据项目推向一个新的水平。随着电子表格和编程的融合不断加深,接受这种协作无疑将成为数据驱动时代的专业人士所必需的。

常见问题

本文中显示的媒体不归Analytics Vidhya所有,仅由作者决定使用。