在Excel中写Python代码可真方便!

真不错,最近才发现MS Excel支持Python语法了!真不错!很方便!

使用起来最直接的感受就是:

  1. Python运行环境轻松触达(Excel的安装量多大呀);

  2. 支持挺全面,Python的很多实用开源库包括数据分析(Pandas,Matplotlib,Seaborn等)、机器学习(Scikit-learn等)、符号运算(SymPy)、图与网络(NetworkX)等都支持。

可能很多小伙伴也像我一样第一次使用这个功能,下面我结合MS的官方教程和我个人的使用经验和大家分享其中的重要操作。

一、Python in Excel 简介

Python in Excel 是 Microsoft 365 提供的新功能,使用户能够直接在 Excel 中编写 Python 代码,并利用 Python 的强大计算和可视化功能来增强数据分析能力。

1. Python in Excel 的优势

  • 内置 Python 计算:支持 Pandas、Matplotlib、Seaborn 等流行的 Python 库进行数据分析。

  • 云端运行:Python 代码在 Microsoft 云端执行,不依赖本地 Python 环境。

  • 与 Excel 紧密结合:可以直接引用 Excel 单元格数据并返回计算结果到 Excel 表格中。

  • 支持数据可视化:使用 Matplotlib 和 Seaborn 绘制高级图表,提高数据分析的可视化能力。

2. Python in Excel 的适用版本

Python in Excel 适用于以下 Excel 版本:

  • Windows 平台的 企业版和商业版 Microsoft 365(版本 2408 及以上)。

  • Excel on the Web 适用于企业和商业用户。

  • 个人和家庭用户 可在 Windows 版 Excel(版本 2405 及以上)或 Excel on the Web 预览。

  • Mac 版 Excel 预览版(Beta 频道,版本 16.95 及以上)。

  • 不支持 iPad、iPhone 和 Android 设备上的 Excel。

二、如何在 Excel 中启用 Python

1. 启用 Python in Excel

  1. 打开 Excel 并创建一个新的工作簿。

  2. 在 “公式”(Formulas)选项卡下,点击 “插入 Python”(Insert Python)。

  3. 你还可以在单元格中直接输入 =PY 之后,旁边会直接显示“创建Python公式”,点击之后,这个单元格就可以变成Python单元格,输入Python代码,使用快捷键Ctrl+Enter就可以运行。

  4. 运行之后你会发现Excel边栏会出现Python 编辑器,你也可以在那里输入代码,区域更宽敞。

2. 确认 Python 是否可用

使用上述方式输入以下简单的 Python 代码来测试 Python 是否已启用:

import math; math.sqrt(20)

如果 Python 已启用,单元格中会返回 4.4721这个结果。

三、Python in Excel 的基本用法

1. 引用 Excel 单元格

在 Python 代码中,可以使用 xl() 函数引用 Excel 单元格:

xl('A1') + xl('B1')

如果 A1 单元格的值为 5,B1 单元格的值为 10,那么该公式的结果将返回 15

2. 使用 Python 进行计算

Python 可以执行复杂的数学计算,如:

=PY("import math; math.sqrt(xl('A1'))")

如果 A1 的值为 16,那么返回的结果是 4

当然,我们也可以选取一定范围的表格,比如要选取A1-B9的表格,我们就可以写为:

xl('A1:B9')

这对于我们进行大量数据分析和Panda库使用很有用。

四、Python in Excel 的数据分析

1. 读取 Excel 数据

import pandas as pd; df = xl('A1:C10', headers=True); df.head()

此时在单元格中会出现DataFrame的显示:

此时会出现多个选项,分别是:arrayPreview,Python_str,Python_type,Python_typeName。 它们是不同类型的输出,我们可以点击观察效果,比如我选择第一个,那就是:

2. 数据清理

import pandas as pd; df = xl('A1:B09', headers=True); df.dropna()

图像如下:

得到删除残缺数据之后的结果: 

3. 计算统计指标

import pandas as pd; df = xl('A1:A100'); mean_value = df.mean()

这是计算了平均值,实际上其他统计运算也是可以的,比如算标准差:std_value = df.std()。

五、Python in Excel 的数据可视化

1. 生成折线图

import matplotlib.pyplot as plt; df = xl('A1:B10', headers=True); plt.plot(df['A'], df['B']); plt.xlabel('X轴'); plt.ylabel('Y轴'); plt.title('Excel 数据可视化')

2. 绘制散点图

import matplotlib.pyplot as plt; df = xl("A1:B10", headers=True); plt.scatter(df['A'], df['B']); plt.xlabel('X轴'); plt.ylabel('Y轴'); plt.title('Excel 数据可视化')

3. 生成 Seaborn 统计图

import seaborn as sns; import matplotlib.pyplot as plt; df = xl("A1:A10", headers=True); sns.boxplot(x=df['A']); plt.title('Seaborn 箱线图')

六、导入外部数据

1. 使用 Power Query 导入数据

  1. 在 Excel“数据” 选项卡中,选择 “获取数据” > “从文本/CSV” 以导入 CSV 文件。

  2. 选择 “仅创建连接” 选项,以便后续在 Python in Excel 中引用该数据。

2. 在 Python 中使用导入的数据

import pandas as pd; df = xl('MyTable[#All]', headers=True); df.head()

七、开源库及功能

Excel中使用的开源库是有限的,而且我尝试安装非列表中的库没有实现,我们这里就列举一下这里所涉及的所有库:

Excel中使用的开源库是有限的,我们这里列举一下支持的所有库及其功能:

库名称功能描述

Astropy

天文学计算库,可用于天体物理数据分析。

beautifulsoup4

一个用于网页抓取的Python库,支持解析HTML和XML。

Faker

生成虚假数据的库,可用于测试数据填充。

imbalanced-learn

用于处理类别不平衡数据的机器学习库,依赖于Scikit-learn。

IPython

提供交互式计算环境,增强Python的命令行体验。

Matplotlib

强大的Python绘图库,可创建高质量的可视化图表。

mlxtend

提供机器学习辅助功能,如特征选择、集成方法等。

NetworkX

处理和分析复杂网络(如社交网络、知识图谱)的库。

NLTK

自然语言处理库,支持文本分析、词性标注、情感分析等。

NumPy

提供高性能的多维数组计算功能,适用于科学计算。

pandas

提供数据结构和数据分析工具,支持数据清理、处理和分析。

Pillow

图像处理库,支持多种格式的图片打开、编辑和转换。

plotnine

一个基于ggplot2的Python可视化库,适用于统计数据绘图。

Prince

多元统计分析库,适用于数据降维和聚类分析。

PyTables

处理大规模数据的库,结合HDF5和NumPy提供高效存储和检索。

PyWavelets

小波变换库,适用于信号处理和图像分析。

qrcode

生成二维码的Python库,支持各种格式的二维码。

scikit-learn

机器学习库,包含分类、回归、聚类等模型及算法。

SciPy

科学计算库,提供优化、插值、积分、线性代数等功能。

seaborn

基于Matplotlib的高级可视化库,适用于统计数据分析。

snowballstemmer

一组用于文本词干提取的算法库。

squarify

用于创建树形图的库,可用于层次结构数据的可视化。

statsmodels

统计建模库,提供回归分析、时间序列分析等功能。

SymPy

符号计算库,支持数学公式解析、求导、积分等。

tabulate

生成格式化表格的库,可用于数据展示。

TheFuzz

字符串模糊匹配库,可用于文本相似度计算。

wordcloud

生成词云图的库,适用于文本可视化分析。

这些库覆盖了数据分析、可视化、机器学习、网络分析、自然语言处理等多个领域,使得 Excel 在数据处理方面的能力大幅增强。

七、常见问题及解决方案

1. #PYTHON! 错误

  • 可能是 Python 语法错误,检查代码是否有拼写或格式问题。

2. #BUSY! 错误

  • 说明 Excel 正在计算 Python 代码,等待计算完成或使用 Ctrl+Alt+Shift+F9 重新计算。

3. #CONNECT! 错误

  • 说明 Excel 无法连接到 Python 服务器,检查网络连接并重试。


通过 Python in Excel,你可以:

  • 高效分析 Excel 数据,如计算统计量、数据清理等。

  • 生成专业级数据可视化,如折线图、散点图、箱线图等。

  • 使用 Pandas 处理数据,提升 Excel 计算能力。

可能也有熟悉Python的朋友觉得这样没有必要,反而使用起来更麻烦,但是不同使用者有不同的学习路径以及工具倾向

对于习惯使用 Excel 进行数据分析的用户,Python in Excel 提供了更强大的数据处理能力,使得他们可以更高效地完成数据分析任务,而无需切换到 Python 独立环境。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呱牛 do IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值