📅  最后修改于: 2023-12-03 15:42:01.153000             🧑  作者: Mango
在处理数据中,我们常常需要合并两个 Pandas 数据帧。其中一个常见的场景是我们需要合并两个数据集,通过共同的 ID 号将它们组合起来。这个时候,我们可以使用 Pandas 提供的 merge()
函数来实现。
下面是一个示例程序,展示如何通过匹配的 ID 号合并两个 Pandas 数据帧。
首先,我们需要创建两个数据帧。
import pandas as pd
# 创建数据帧 df1
df1_data = {'ID': ['1', '2', '3', '4', '5'],
'name': ['John', 'Mary', 'Tom', 'Ben', 'Alice']}
df1 = pd.DataFrame(df1_data)
# 创建数据帧 df2
df2_data = {'ID': ['2', '4', '6', '7', '8'],
'age': [22, 25, 18, 20, 35]}
df2 = pd.DataFrame(df2_data)
然后,我们可以使用 merge()
函数将这两个数据帧按照 ID 号进行合并。
# 将两个数据帧按 ID 号合并
merged_df = pd.merge(df1, df2, on='ID', how='inner')
合并后,我们可以通过 head()
函数来查看合并后的前几行数据。
# 查看合并后的前几行数据
print(merged_df.head())
输出结果如下:
ID name age
0 2 Mary 22
1 4 Ben 25
由此可见,合并后的数据帧中包含了原来两个数据帧中共同的 ID 号以及它们对应的 name 和 age。
在合并两个数据帧时,我们通常需要指定用于合并的列,这个列相当于两个数据帧的主键。上面的代码中,我们将 df1
和 df2
通过它们的 ID 号进行了合并,因此在 merge()
函数中需要指定 on='ID'
。
此外,merge()
函数还需要一个 how
参数,该参数指定了合并方式。在上面的代码中,我们使用了 how='inner'
,表示只保留两个数据帧中共同的 ID 号对应的行。还有其他的合并方式,分别为 'left'
、'right'
和 'outer'
。它们的具体含义可以参考 Pandas 文档。
本文介绍了如何通过匹配的 ID 号合并两个 Pandas 数据帧,并给出了完整的程序示例。在实际的数据处理中,我们通常需要合并多个数据集,这时候我们只需要多次使用 merge()
函数即可。