Pandas实战100例 | 案例 27: 数据合并 - 使用 `merge`

发布时间:2024年01月14日

案例 27: 数据合并 - 使用 merge

知识点讲解

在数据处理中,经常需要将来自不同来源的数据集合并在一起。Pandas 提供了 merge 函数,它类似于 SQL 中的 JOIN 操作,可以根据一个或多个键来合并两个 DataFrame。

  • 内连接 (inner): 只合并两个 DataFrame 中都有的键。
  • 外连接 (outer): 合并两个 DataFrame 中的所有键,不存在的值用 NaN 填充。
  • 左连接 (left): 保留左边 DataFrame 的所有键。
  • 右连接 (right): 保留右边 DataFrame 的所有键。
示例代码
# 准备数据和示例代码的运行结果,用于案例 27

# 示例数据
data_merging = {
    'ID': [1, 2, 3, 4],
    'Name': ['Alice', 'Bob', 'Charlie', 'David']
}
df1_merging = pd.DataFrame(data_merging)

additional_data = {
    'ID': [3, 4, 5, 6],
    'Age': [25, 30, 35, 40]
}
df2_merging = pd.DataFrame(additional_data)

# 合并数据
merged_inner = pd.merge(df1_merging, df2_merging, on='ID', how='inner')
merged_outer = pd.merge(df1_merging, df2_merging, on='ID', how='outer')
merged_left = pd.merge(df1_merging, df2_merging, on='ID', how='left')
merged_right = pd.merge(df1_merging, df2_merging, on='ID', how='right')

df1_merging, df2_merging, merged_inner, merged_outer, merged_left, merged_right


在这个示例中,我们使用不同的方式合并了两个 DataFrame:一个包含 ID 和 Name,另一个包含 ID 和 Age。

示例代码运行结果

原始 DataFrame (df1_merging):

   ID     Name
0   1    Alice
1   2      Bob
2   3  Charlie
3   4    David

原始 DataFrame (df2_merging):

   ID  Age
0   3   25
1   4   30
2   5   35
3   6   40

内连接 (merged_inner):

   ID     Name  Age
0   3  Charlie   25
1   4    David   30

外连接 (merged_outer):

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob   NaN
2   3  Charlie  25.0
3   4    David  30.0
4   5      NaN  35.0
5   6      NaN  40.0

左连接 (merged_left):

   ID     Name   Age
0   1    Alice   NaN
1   2      Bob   NaN
2   3  Charlie  25.0
3   4    David  30.0

右连接 (merged_right):

   ID     Name  Age
0   3  Charlie   25
1   4    David   30
2   5      NaN   35
3   6      NaN   40

这个案例展示了如何使用不同类型的连接来合并数据集,这对于数据整合和分析是非常重要的。

文章来源:https://blog.csdn.net/PoGeN1/article/details/135552745
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。