📌  相关文章
📜  根据 Pandas 中的公共列值合并两个数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:40:27.817000             🧑  作者: Mango

根据 Pandas 中的公共列值合并两个数据框 - Python

在数据分析和数据科学中,数据的合并是一个很重要的任务。Pandas提供了一些功能强大的方法来合并数据框。在本文中,我们将讨论如何根据Pandas中的公共列值合并两个数据框。

准备工作

在开始之前,我们需要导入Pandas库。使用以下代码行导入:

import pandas as pd

然后,我们需要为两个数据框准备数据。我们将使用两个数据框:一个包含订单数据,另一个包含客户数据。我们可以使用以下代码来创建这些数据框:

# 创建订单数据框
orders = pd.DataFrame({
    'OrderID': ['A101', 'A102', 'A103', 'A104', 'A105'],
    'CustomerID': ['C1', 'C2', 'C1', 'C3', 'C2'],
    'OrderDate': ['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04', '2020-01-05'],
    'Amount': [100, 200, 150, 300, 250]
})

# 创建客户数据框
customers = pd.DataFrame({
    'CustomerID': ['C1', 'C2', 'C3', 'C4'],
    'CustomerName': ['Alice', 'Bob', 'Charlie', 'David'],
    'City': ['New York', 'San Francisco', 'Los Angeles', 'Chicago']
})

现在,我们已经准备好了两个数据框。让我们开始讨论如何合并它们。

使用.merge()方法合并数据框

在Pandas中,使用merge()方法进行合并。这个方法接受一些参数,包括合并的数据框,以及指定用于合并的公共列的名称。下面是一个简单的例子:

merged_df = pd.merge(df1, df2, on='column_name')

在此示例中,df1df2是要合并的数据框。column_name是作为公共列的列名称。使用merged_df变量来存储合并后的数据框。

在我们的示例中,要合并订单数据框和客户数据框,我们需要按客户ID合并它们。因此,我们将使用客户ID列作为公共列。使用下面的代码行合并它们:

merged_df = pd.merge(orders, customers, on='CustomerID')

现在,我们已成功合并了两个数据框,其中客户数据框已添加到订单数据框中。合并后的merged_df数据框如下:

  OrderID CustomerID   OrderDate  Amount CustomerName           City
0    A101         C1  2020-01-01     100        Alice       New York
1    A103         C1  2020-01-03     150        Alice       New York
2    A102         C2  2020-01-02     200          Bob  San Francisco
3    A105         C2  2020-01-05     250          Bob  San Francisco
4    A104         C3  2020-01-04     300      Charlie    Los Angeles

我们可以看到,客户名称和城市列已根据客户ID合并到订单数据框中。合并后的数据框包含订单数据和客户数据的所有信息。

结论

在本文中,我们讨论了如何根据Pandas中的公共列值合并两个数据框。我们使用了.merge()方法将两个数据框合并到一个数据框中,并根据指定的公共列值将它们连接起来。这是一项非常有用的任务,使数据的合并更容易。