如何在 Python 中合并两个 DataFrame - Pandas

2025年3月17日 | 阅读 3 分钟

Pandas

Pandas 是 Python 内置的一个库,用于在 Python 编程语言中处理关系型数据。它提供了许多函数和数据结构,有助于处理关系型数据操作。

如果数据以行和列的形式存储,或者二维数据通常在 pandas 中称为 DataFrame。

如果我们有两个 DataFrame,那么借助 pandas,我们可以将它们合并或融合成一个 DataFrame。Pandas 提供了用于合并两个不同 DataFrame 数据以及用于比较它们的方法。

1. 使用 concat() 函数

在 Python 中,我们可以使用 Pandas 的 concat() 函数来连接两个 DataFrame。我们可以按行或按列连接数据。此函数在一个轴(行或列)上合并数据,并在另一个轴(另一个索引)上执行集合逻辑。

示例

输出

How to combine two dataframe in Python - Pandas

说明

在上面的代码中,我们首先在文件中导入了 Pandas 库。然后,我们创建了两个 DataFrame,每个 DataFrame 包含三列和四行。然后,我们使用了 concat 函数,该函数按行连接这两个 DataFrame,并使用 display 函数将其打印在屏幕上。

2. 使用 pandas 中的 joins

我们已经理解了数据库中 joins 的概念,即我们基于某个共同属性连接两个表。在 DataFrame 的连接中也适用相同的方法。在简单的 concat() 方法中,我们将所有行逐一合并,并创建了新的 DataFrame。在 join 中,我们定义了要在表上执行的 join 类型,无论是内连接(inner join)还是外连接(outer join)。任何类型的 join,无论是内连接(交集)还是外连接(并集),都将在 join 属性中定义。

示例

输出

How to combine two dataframe in Python - Pandas

说明

在上面的代码中,我们有两个 DataFrame,它们都包含两列和四行。两个 DataFrame 具有不同的列名,在 concat() 函数中,我们使用了内连接,它取交集部分。

在 axis 属性中,我们将值初始化为一,因此我们获得了所有数据。

示例

输出

How to combine two dataframe in Python - Pandas

由于没有共同属性且应用了内连接,因此我们得到了一个空的 DataFrame 作为输出。如果两个 DataFrame 中存在共同属性

示例

输出

How to combine two dataframe in Python - Pandas

说明

在上面的代码中,我们有一个共同的属性 'id',因此 DataFrame 是仅基于共同属性创建的。

3. 使用 append() 方法

除了 concat() 方法,我们还可以使用 append() 方法。此 append() 方法应用于其中一个 DataFrame。

示例

输出

How to combine two dataframe in Python - Pandas

说明

在上面的代码中,我们使用 append 方法合并了两个 DataFrame。