📌  相关文章
📜  通过匹配的 ID 号合并两个 Pandas 数据帧(1)

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

通过匹配的 ID 号合并两个 Pandas 数据帧

在处理数据中,我们常常需要合并两个 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。

说明

在合并两个数据帧时,我们通常需要指定用于合并的列,这个列相当于两个数据帧的主键。上面的代码中,我们将 df1df2 通过它们的 ID 号进行了合并,因此在 merge() 函数中需要指定 on='ID'

此外,merge() 函数还需要一个 how 参数,该参数指定了合并方式。在上面的代码中,我们使用了 how='inner',表示只保留两个数据帧中共同的 ID 号对应的行。还有其他的合并方式,分别为 'left''right''outer'。它们的具体含义可以参考 Pandas 文档。

总结

本文介绍了如何通过匹配的 ID 号合并两个 Pandas 数据帧,并给出了完整的程序示例。在实际的数据处理中,我们通常需要合并多个数据集,这时候我们只需要多次使用 merge() 函数即可。