如何在Python中使用Pandas实现vLookup?

2025年1月5日 | 阅读 5 分钟

引言

在本教程中,我们将学习如何在Python中使用pandas实现vLookup。Vlookup主要用于垂直文件。Vlookup是一个根据特定条件连接两个不同表的函数,其中两个表之间至少必须有一个公共属性(列)。完成此操作后,我们将得到一个包含两个表中数据匹配的所有数据的表。我们可以通过使用merge()函数在pandas中执行Vlookup。Join的操作方式与SQL中的Join相同。我们可以对表1或表2进行操作。合并两个表可以完成许多操作。

语法

在Python中使用pandas实现vLookup的语法如下:

参数

在Python中使用pandas实现vLookup的参数如下:

  • dataframe1: 必须合并的第一个数据框。
  • dataframe2: 必须合并的第二个数据框。
  • how: {left, right, inner, outer} 表示合并系统。
  • on: 指定用于执行连接的列或索引名称。
  • suffixes: 重叠列的后缀。使用值进行例外处理(False, False)。
  • validate: 如果指定,则会检查合并类型。合并类型可以是(一对一、一对多、多对一、多对多)。

程序代码

让我们考虑我们要操作的两个表。第一个表包含学生的个人数据,第二个表包含他们所修课程的数据。代码显示了两个表中的数据。因此,代码如下所示:

输出

现在,我们编译给定的Python代码。然后,编译成功后,我们运行此代码。出现的输出如下:

How to do a vLookup in Python Using Pandas

我们还可以执行不同类型的Joining(右连接、左连接、内连接和外连接)来实现vLook。现在我们在下面讨论它们:

1. 右连接

右连接与左连接类似。这里,输出文件包含第二个文件或数据框中的所有行以及第一个文件中的匹配行。如果第一个文件中的行不匹配,它们将被NaN替换。

How to do a vLookup in Python Using Pandas

程序代码

现在,我们提供一个程序代码,使用pandas的右连接概念在Python中实现vLookup。代码如下所示:

输出

现在,我们编译给定的Python代码。然后,编译成功后,我们运行此代码。出现的输出如下:

How to do a vLookup in Python Using Pandas

2. 左连接

左连接与右连接类似。左连接函数返回第一个数据框中的所有行以及第二个文件中的匹配行。如果第二个数据框中的行不匹配,它们将被NaN替换。

程序代码

现在,我们提供一个程序代码,使用pandas的左连接概念在Python中实现vLookup。代码如下所示:

输出

现在,我们编译给定的Python代码。然后,编译成功后,我们运行此代码。输出如下:

How to do a vLookup in Python Using Pandas

3. 内连接

内连接仅为两个行满足条件的行生成数据。要执行内连接,您可以在`how`参数中指定`inner`关键字。

程序代码

现在,我们提供一个程序代码,使用pandas的内连接概念在Python中实现vLookup。代码如下所示:

输出

现在,我们编译给定的Python代码。然后,编译成功后,我们运行此代码。出现的输出如下:

How to do a vLookup in Python Using Pandas

4. 外连接

外连接提供一个包含两个数据框中行的输出文件。如果行匹配,则显示该值;否则,对于不匹配的行,将显示NaN。

程序代码

现在,我们提供一个程序代码,使用pandas的外连接概念在Python中实现vLookup。代码如下所示:

输出

现在,我们编译给定的Python代码。然后,编译成功后,我们运行此代码。出现的输出如下:

How to do a vLookup in Python Using Pandas

结论

在本教程中,我们学习了如何在Python中使用pandas实现vLookup。Pandas库使得模拟VLOOKUP函数变得非常容易。映射和组织信息是数据准备过程中的重要步骤,尤其是在处理来自数据库的规范化数据集时。Pandas是一个强大的数据处理工具,提供了丰富的工具集来处理和管理数据以进行分析。我们可以通过使用merge()函数在pandas中执行Vlookup。Vlookup是一个根据特定条件连接两个不同表的函数,其中两个表之间至少必须有一个公共属性(列)。VLookup可以执行不同类型的Joining,如右连接、左连接、内连接和外连接。在这里,我们还分享了这些Joining的程序代码,以便在Python中使用pandas实现vLookup。