Python在Excel中:这将永远改变数据科学

Python改变数据科学

 

作为在工业界工作的数据科学家,过去一年感觉就像是一场新技术突破和人工智能创新的过山车。

像ChatGPT、Notable、Pandas AI和Code Interpreter这样的工具在写作、研究、编程和数据分析等任务中为我节省了大量时间。

就在我以为事情不可能变得更好时,微软和Anaconda宣布将Python集成到Excel中!

现在你可以在Excel电子表格中编写Python代码来分析数据、构建机器学习模型和创建可视化。

 

那么…为什么Python-Excel集成如此受瞩目呢?

 

在Excel中编写Python代码的能力将为数据科学家和分析师打开新的大门。

当我得到我的第一份数据科学工作时,我以为我会在Jupyter Notebooks中完成大部分工作。然而令我惊讶的是,我在第一天上班时竟然被要求学习使用Excel,因为高层管理人员、利益相关者和客户更喜欢从电子表格中解读结果。

事实上,过去我甚至创建了Tableau仪表板来向客户展示结果,最后还是不得不在Excel中重新构建图表,因为他们对这个平台更熟悉。

而这并不是我所在组织的特例。截至2023年,全球有超过一百万家公司和十五亿人使用Excel。

许多数据从业者,包括我自己,经常在Python IDE和Excel电子表格之间切换。我们用前者构建机器学习模型和分析数据,用后者呈现我们的发现。

Python-Excel集成将帮助数据科学家和分析师简化工作流程,让我们能够在一个平台上进行数据分析、建模和呈现。

还不确定吗?

让我们探索一些这种组合的潜在用例。

 

数据科学家如何在Excel中使用Python

 

以下是数据科学家可以将电子表格的功能与Python丰富的库结合起来的一些方式:

 

1. 数据预处理

 

如果有一部分工作我愿意外包,那就是数据准备。这是一项繁琐的任务,如果使用原生的Excel函数,将会非常耗时。

通过新的Python-Excel集成,用户现在可以直接在Excel中导入像Pandas这样的库,并在Excel电子表格中直接进行高级过滤和数据聚合。

你只需在电子表格的一个单元格中键入“=PY”,然后用Python突出显示要分析的数据,一个Pandas dataframe就会为您创建。然后,您可以像在Jupyter Notebook中那样对这些数据进行分组和操作。

这是一个演示如何在Excel中创建Pandas dataframe的例子:

 

 

2. 机器学习

 

虽然Excel在图表中提供了线性回归和趋势线拟合等基本工具,但大多数机器学习用例需要更复杂的建模技术,超出了Excel的原生能力。

通过Python-Excel集成,用户现在可以使用Scikit-Learn等库在Excel中构建和训练高级统计模型。模型的结果可以在Excel中进行可视化和呈现,将建模和决策在一个平台上连接起来。

这是一个展示在Excel中使用Python构建决策树分类器的简单示例:

 

 

3. 数据分析

 

在Excel中分析数据的过程可能是痛苦的 – 当同时处理多个文件时,用户需要手动复制和粘贴数据,拖动公式到各个单元格,并手动合并数据。

例如,如果我有五份每月销售数据,看起来像这样:

   

如果我想要找到一个月内销售超过100个单位的产品,我首先需要手动从所有工作表中复制数据,并将其粘贴到第一个工作表的数据下方。然后,我需要更改日期格式并创建一个数据透视表。

最后,我需要添加一个筛选器来查找符合我的条件的产品。

每次我在不同的文件或工作表中获得新的销售数据时,我都需要手动复制和粘贴。

随着数据量的增加,这个过程变得越来越困难和容易出错。

相反,可以使用以下代码行在Python中简化整个分析过程:

# 1. 合并数据
df_merged = pd.concat([df_jan, df_feb], ignore_index=True)

# 2. 转换日期格式
df_merged['Date'] = pd.to_datetime(df_merged['Date']).dt.strftime('%Y-%m-%d')

# 3. 计算每个产品的总销售量
grouped_data = df_merged.groupby('Product').agg({'Units Sold': 'sum'}).reset_index()

# 4. 识别销售量超过100个单位的产品
products_over_100 = grouped_data[grouped_data['Units Sold'] > 100]

products_over_100

每当有新数据进来时,我只需要更改一行代码并重新运行程序即可获得所需的结果。通过Python-Excel集成,我可以在单个平台上监控整个数据分析工作流程,从而最大限度地提高效率。

 

4. 数据可视化

 

尽管Excel本身提供了多种可视化选项,但工具在构建图表的类型上仍然有所限制。像小提琴图、热力图和成对图这样的图表在Excel中并不readily available,这使得数据科学家难以表示复杂的统计关系。

运行Python代码的能力将使Excel用户能够使用Matplotlib和Seaborn等库创建更复杂、高度可定制的图表。

 

 

如何在Excel中使用Python?

 

在撰写本文时,Python-Excel功能仅通过Microsoft 365 Insider计划提供。您需要注册并选择Beta Channel Insider级别才能访问此功能,因为它尚未向公众推出。

一旦加入365 Insider计划,您将在公式选项卡中找到一个Python部分。您只需点击“插入Python”。您可以点击它开始编写自己的Python代码。

或者,您只需在任何单元格中键入=PY即可开始。

 

 

Python-Excel集成将使数据科学大众化

 

随着ChatGPT的发布,以及Code Interpreter和Notable等插件的出现,许多以前需要专业技术知识才能完成的任务变得更加容易。

这对于数据科学家和分析师尤其如此 – 您现在可以将CSV文件上传到ChatGPT,它将在您的数据集上进行清理、分析和构建模型。

在我看来,Python-Excel集成使我们离数据科学和分析的大众化又近了一步。

在营销和金融等领域,仅使用Excel工作的行业专家现在将能够执行Python代码来分析他们的数据,甚至无需下载编程IDE。

在他们熟悉的界面中使用数据,再加上ChatGPT在编写代码方面的熟练,将使非程序员能够执行数据科学工作流程并使用Python代码解决问题。

如果您是一个不懂编程的Excel用户,这是一个学习Python编程的绝佳机会,而且您已经对界面感到舒适。     Natassha Selvaraj 是一名自学成才的数据科学家,热衷于编写。您可以在LinkedIn上与她联系。