搞懂JavaScript引擎运行原理

神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

Excel是一个无处不在的数据处理、分析工具,大多数人或多或少都使用过Excel,而且一旦你掌握了它的使用技巧,你会打开另外一扇窗!此外,也有人认为,具有无限潜力的Python也非常有挑战性。在这篇文章中,我们将探讨在Excel中能够完成,但是在Python中能够更轻松实现的三件事!

从导入panda开始,并基于工作簿中需要用的工作表加载两个数据帧。两个列的定义为 sales 和 states 。

import pandas as pd
sales = pd.read_excel(\'https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx\', sheet_name = \'sales\')
states = pd.read_excel(\'https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx\', sheet_name = \'states\')

将我们的数据集导入Pandas数据帧。

让我们想象一下,我们对数据帧运行了.head()方法,如下所示:

print(sales.head())

我们可以将其与Excel中的数据进行比较:

神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

比较数据在Excel和Pandas中的两种显示方式

我们可以看到显示的数据与Excel显示数据的方式相对类似,但有一些关键的区别:

  • Excel从第1行开始,Pandas从第0行开始(\'index\');
  • Excel用以A开头的字母标记列,而Pandas用变量名标记列。

让我们开始深入探讨如何运用 Pandas 完成Excel任务。

Python中的IF函数

在Excel中使用IF函数非常方便,允许我们根据另一个单元格中的条件应用某个标签。假设我们想创建一个新列,让我们知道B列中单元格的值是否大于500。在Excel中,我们将列E标记为大于500,然后进入单元格E2并写入:

=IF([@Sales]>500, \"Yes\", \"No\")
神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

在Excel中应用IF函数

如果我们想在Pandas中这样做,我们可以使用列表理解来轻松应用相同的 If 语句:

df[\'MoreThan500\'] = [\'Yes\' if x > 500 else \'No\' for x in df[\'Sales\']

列表理解是这类工作的好工具,它减少了编写复杂 if/else 语句的需要。使用 if/else 语句也可以完成相同的任务,但这样可以节省时间并使代码更简洁。通过阅读本文,你可以详细了解列表理解。

神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

列表理解的解释

Pandas中的VLOOKUP

在我们的数据集中,城市在一张纸上,州/省在另一张纸上。这并不理想,但我们可以使用Excel中的VLOOKUP链接数据。VLOOKUP的工作方式与左连接类似,左数据集中的每个记录都被保留。我们告诉Excel在查找表中垂直上下查找列中的特定值,然后返回一个值,该值位于列右侧的特定列数中。

让我们添加一个名为“State”的列,并使用VLOOKUP从 States 表返回相应的状态。

神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

使用VLOOKUP添加州/省信息

在Python中,我们可以使用Pandas merge函数完成相同的任务。Merge获取两个数据帧并合并它们。为此,我们将编写以下代码:

sales = pd.merge(sales, states, how=\'left\', on=\'City\')

让我们把这个论点一个一个地分解开来:

  • 第一个参数是原始数据帧;
  • 第二个参数是我们在中查找值的数据帧;
  • 如何指定要创建的联接类型;
  • On指定要合并的变量(如果变量在每个数据帧中被称为不同的对象,则还有left_On和right_On)。

Pandas中的数据透视表

数据透视表是Excel最强大的功能之一,它允许我们以惊人的速度提取关于大型数据集的有意义的数据。让我们根据每个城市的销售额总和创建一个数据透视表。

神奇的Python!仅需一行代码,轻松实现Excel中的3大高级功能!

在Excel中生成数据透视表

为此,我们只需将City字段拖到Rows部分,将Sales字段拖到Values部分。Excel自动汇总数据集中每个城市的销售额。

要在Pandas中生成相同的数据透视表,我们将编写以下代码:

sales.pivot_table(index = \'City\', values = \'Sales\', aggfunc = \'sum\'))

我们再把这个分解一下:

  • 我们使用sales.pivot_表让Pandas知道我们要基于sales dataframe创建一个pivot表
  • 索引指定要聚合的值
  • 值指定要聚合的值
  • Aggfunc指定要使用的函数(也可以使用mean、max、min等)

最后

在本文中,我们学习了如何将Excel数据导入Pandas,如何完成IF和VLOOKUP函数,以及如何生成数据透视表。但你可能会问自己,如果你能在Excel中完成这里列出的所有工作,为什么要使用Pandas?这里没有一个明确的答案。Python允许我们生成可重用的、可跟踪的代码,使我们能够轻松地复制分析设计,Excel可能只够进行更小的分析。

原文链接:https://towardsdatascience.com/learn-how-to-easily-do-3-advanced-excel-tasks-in-python-925a6b7dd081

翻译:未艾信息(www.weainfo.net)

查看更多最新资讯,欢迎大家点击阅读原文登录我们的AI社区。

以及关注我们的公众号:为AI呐喊(weainahan)

下一篇

紫色包菜和绿色包菜价钱差得远,那到底哪个更好吃?

评论已经被关闭。

插入图片
返回顶部