📌  相关文章
📜  合并两个具有公共列的数据框 - Python (1)

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

合并两个具有公共列的数据框 - Python

在数据分析中,有时会需要将两个具有公共列的数据框合并起来,以便进行分析和处理。在Python中,可以使用pandas库的merge函数来实现这个过程。

1. 读入两个数据框

作为例子,我们可以读入两个CSV文件,分别为sales.csv和customers.csv。这两个文件都具有公共列customer_id。以下是读入这两个文件的代码:

import pandas as pd

sales = pd.read_csv('sales.csv')
customers = pd.read_csv('customers.csv')
2. 合并数据框

接下来,我们可以使用merge函数将这两个数据框合并起来。合并的过程需要指定两个数据框的公共列,以及合并方式。以下是示例代码:

merged_df = pd.merge(sales, customers, on='customer_id', how='inner')

在这个代码中,我们将sales和customers两个数据框在customer_id列上进行了内连接(inner join)方式的合并。合并后的结果被存储在merged_df变量中。

3. 合并方式

merge函数的第三个参数是合并方式,常用的方式有以下四种:

  • inner:只保留两个数据框在公共列上有重叠的行。
  • outer:保留两个数据框在公共列上的所有行,并在缺失值的地方填充NaN。
  • left:只保留左边数据框的所有行,并在右边数据框中缺失的地方填充NaN。
  • right:只保留右边数据框的所有行,并在左边数据框中缺失的地方填充NaN。
4. 结果

最后,我们可以查看合并后的结果。以下是打印合并后数据框前几行的代码:

print(merged_df.head())

合并后的数据框应该包含了sales.csv和customers.csv两个数据框的所有列。其中,customer_id列作为公共列并未重复出现,而其他列则按照原来的顺序排列。